在我的FreeBSD机器上启动samba时,出现一个错误
/libexec/ld-elf.so.1 : Shared object "libgcrypt.so.15" not found, required by "smbd"
有必要说,我用某种方式“打破”了这个,同时使用端口pipe理器更新了一些其他的端口。
谷歌search没有什么帮助。
如果libgcrypt在某种程度上被更新了,你可能需要更新所有依赖它的端口(samba可能是其中之一)。 尝试运行:
portupgrade -rf libgcrypt portmaster -r libgcrypt
假设Samba之前在主机上工作过,很有可能更新另一个端口或包,而用更高版本replacelibgcrypt.so.15 ,而smbd二进制文件则与该特定版本链接。 检查是否有一个指向不同编号版本的libgcrypt.so符号链接。
在这种情况下,假设新版本是向后二进制兼容的,你应该能够通过创build一个从libgcrypt.so.15到你拥有的新版本的符号链接来解决这个问题。 不过build议用新版本重新编译Samba,以防库中的include文件有所不同。
另一种可能是,包含libgcrypt.so的软件包被卸载(由于新的冲突依赖或弃用),但是如果Samba是从FreeBSD端口安装的,则应该发出警告。