При запуске samba на моей машине FreeBSD я получаю сообщение об ошибке
/libexec/ld-elf.so.1 : Shared object "libgcrypt.so.15" not found, required by "smbd"
Важно сказать, что я как-то "сломал" это при обновлении некоторых других портов с помощью диспетчера портов.
Поиск в Google не особо помог.
Если libgcrypt
был каким-то образом обновлен, вам может потребоваться обновить все порты, которые от него зависят (например, samba может быть одним из них). Попробуйте запустить:
portupgrade -rf libgcrypt
portmaster -r libgcrypt
Весьма вероятно, что при условии, что Samba раньше работала на хосте, обновление другого порта или пакета заменило libgcrypt.so.15
с более поздней версией, а smbd
двоичный файл был связан с этой конкретной версией. Проверьте, есть ли у вас libgcrypt.so
символическая ссылка, указывающая на версию с другим номером.
В этом случае, предполагая, что более новая версия имеет обратную двоичную совместимость, вы сможете обойти это, создав символическую ссылку из libgcrypt.so.15
к более новой версии, которая у вас есть. Однако рекомендуется пересобрать Samba с более новой версией, если есть какие-либо различия во включаемых файлах библиотеки.
Другая возможность состоит в том, что пакет, содержащий libgcrypt.so
был удален (из-за новой конфликтной зависимости или устаревания), но если Samba была установлена из порта FreeBSD, это должно было вызвать предупреждение.