所有,我安装了“vowpal wabbit”包,并使用“make test”来测试它。它显示一切正常。但是,当我在终端中输入“vw”时,出现以下错误:
vw: error while loading shared libraries: libvw.so.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我的系统是 ubuntu12.04-64 位。谁能告诉我如何解决这个问题?谢谢
从来回的消息传递来看,您似乎在 /usr/local/lib 中安装了该库。但是您的应用程序不知道在那里寻找库。
您可以通过几种方式解决此问题。
您可以在配置/构建项目时提供特殊标志,以告诉您的二进制文件检入 /usr/local/lib。如果您知道如何在构建时设置标志,则应该设置LDFLAGS=-Wl,-rpath,/usr/local/lib. 不过,这会让你重建。
运行时链接器查看名为的环境变量LD_LIBRARY_PATH,以查看在查找共享库时要检查的目录。在这种情况下,如果您键入export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib然后运行您的程序,它应该可以工作。
如果您有多个程序需要 /usr/local/lib 目录,并且您觉得包含给每个人都是安全的,则可以设置运行时链接器每次都尝试 /usr/local/lib。您可以将文件放入/etc/ld.so.conf.d或编辑/etc/ld.so.conf以添加 /usr/local/lib。这会影响系统上的每个可执行文件,所以我认为这个非常先进。
简而言之,您需要告诉您的程序如何找到该库。现在最简单的方法是设置LD_LIBRARY_PATH变量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
| 归档时间: |
|
| 查看次数: |
1353 次 |
| 最近记录: |