我对 .so 文件的路径有疑问。我有一台服务器,有两个帐户 user1 和 user2。有一个 wget 程序,已安装到 user1,我需要 user2 提供它。当我从 user2 运行它时,出现错误:
/export/apps/user1/local/bin/wget http://....
ld.so.1: wget: fatal: libiconv.so.2: open failed: No such file or directory
我检查了 user1 的 ldd util 的输出(应用程序按预期工作):
ldd /export/apps/user1/local/bin/wget
libiconv.so.2 => /usr/local/lib/libiconv.so.2
对于用户2:
libiconv.so.2 =>(未找到文件)
我更新了 LD_LIBRARY_PATH
LD_LIBRARY_PATH=:/usr/sfw/lib:/export/apps/user1/local/lib:/usr/local/lib
但之后我遇到了同样的问题。我该如何修复它?请注意,我没有此服务器的管理员访问权限,最好避免修改系统范围的配置文件并使用非 root 权限解决此问题。
答案1
您需要导出 LD_LIBRARY_PATH,而不仅仅是分配它。