我已经下载了VALA的最后两个最新版本(v0.17.0和0.16.0(,并尝试在我的开发机器(带有gcc 4.4.3的Ubuntu 10.0.4(上进行构建。
当我构建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 可以找到它 - 直到我意识到我不应该这样做(使安装应该已经这样做了(。
这让我相信 v 0.17.0 和 0.16.0 都被破坏了——其他人知道这一点吗——还是我错过了什么?
有没有人设法获得任何最新版本来构建 - 我需要什么来修复构建?(如果做不到这一点,VALA 的最后一个已知稳定版本是什么(?
[[更新]]
我已经制作了 0.17.0 的构建日志,可在此处获得
make check(再次是敌人v 0.17.0(的输出也可以在这里找到
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。
ref to:https://help.ubuntu.com/community/Vala
如果您使用 sudo make 安装内容,则在发出第一个 valac 命令时可能会收到以下错误消息
valac:加载共享库时出错:libvala.so.0:无法打开共享对象文件:没有这样的文件或目录
这意味着编译器找不到库,但它们正好在它们应该在的位置,即在目录/usr/local/lib 中。若要在编译时更正错误,将运行命令 sudo ldconfig 以将链接器更新为动态库。
因此,您可以运行以下命令:
sudo ldconfig/usr/local/lib
添加此库路径
我收到错误:
加载共享库时出错:libvala-0.18.so.0:无法打开共享对象文件:没有此类文件或目录
所以我这样做了,现在正在工作
sudo apt-get install build-essential flex bison libglib2.0-dev
sudo apt-get install checkinstall devhelp libgtk2.0-dev
而那一套,现在一切都很好。