我已经下载了最后两个latest releases of VALA( v0.17.0 和 0.16.0 ),并尝试在我的开发机器上构建(Ubuntu 10.0。 4与gcc 4.4.3)。
当我构建v 0.17.0 时,我注意到屏幕上出现了一些错误。我运行make check
和make test
并且都失败了(cc错误)。
v 0.17.0 ,当我运行valac时出现以下错误:
valac:加载共享库时出错:libvala-0.18.so.0:不行 打开共享对象文件:没有这样的文件或目录
注意共享库的不同版本号(这是一个错误吗?)。无论如何,我搜索了我的整个系统,看看文件是否已经在我的系统上的其他地方创建了。找不到该文件。
然后我下载了v 0.16.0 并构建了它。 make check
和make test
也再次失败。但是这次当我启动valac可执行文件时,我收到了这个错误:
valac:加载共享库时出错:libvala-0.16.so.0:不能 打开共享对象文件:没有这样的文件或目录
请注意,shlib low具有正确的版本号。我很有希望,然后我在机器上搜索shlib:
someone@yourbox:~/work/dev/c++/3rdparty/vala/vala-0.16.0$ find . -name 'libvala*' -type f 2>/dev/null
./codegen/libvala-0.16.la
./codegen/.libs/libvala-0.16.lai
./codegen/.libs/libvala-0.16.so.0.0.0
./libvala.pc
./libvala.pc.in
./vapi/libvala-0.16.vapi
./ccode/libvalaccode.la
./ccode/.libs/libvalaccode.a
./libvala-0.16.pc
./vala/.libs/libvalacore.a
./vala/libvalacore.la
我正要创建一个共享库的符号链接,并将其放在路径中,以便valac可以找到它 - 直到我意识到我不应该这样做(make install应该已经完成了)
这让我相信v 0.17.0 和 0.16.0 都被打破了 - 是否有其他人意识到这一点 - 或者我错过了什么?
有没有人设法获得任何最新版本的构建 - 我需要什么来修复构建? (失败了,vala的最后一个稳定版本是什么?)
[[更新]]
我已经使0.17.0的构建日志可用here
make check的输出(再次foe v 0.17.0)也可用here
答案 0 :(得分:3)
make check
失败是无关的。一些测试用例依赖于GDBus,GDBus仅在版本2.26中添加到GIO,根据http://packages.ubuntu.com/lucid/libglib2.0-0 Ubuntu 10.04有2.24。
您看到的0.18是API / ABI版本,并且是正确的。奇数编号的次要版本不稳定,并带有下一个稳定版本的API / ABI版本(将0.17.x版本视为最终将成为0.18稳定版本的不稳定开发版本)。
至于无法找到库,根据您安装的前缀,您可能只需要运行ldconfig
。 AFAIK这一步不再需要(运行Ubuntu的人必须确认),但很久以前10.04 ......
如果您没有安装到标准位置,则可能需要相应地调整LD_LIBRARY_PATH。
答案 1 :(得分:0)
我收到错误:
加载共享库时出现错误:libvala-0.18.so.0:无法打开 共享对象文件:没有这样的文件或目录
<强> SO 强> 我这样做了,现在正在工作
sudo apt-get install build-essential flex bison libglib2.0-dev
sudo apt-get install checkinstall devhelp libgtk2.0-dev
那套,现在一切都很好.. 希望能帮到你
答案 2 :(得分:0)
参考: https://help.ubuntu.com/community/Vala
如果您使用sudo make install stuff,则在发出第一个valac命令时可能会收到以下错误消息
valac:加载共享库时出错:libvala.so.0:无法打开共享对象文件:没有这样的文件或目录
这意味着编译器无法找到库,但它们应该是它们应该存在的位置,即在/ usr / local / lib目录中。要在编译时纠正错误,您将运行命令sudo ldconfig以将链接器更新为动态库。
所以你可以运行这个命令:
sudo ldconfig / usr / local / lib
添加此库路径