c语言 - 构建最新的 Vala 版本(使检查失败,valac 找不到共享库)



我已经下载了VALA的最后两个最新版本(v0.17.00.16.0(,并尝试在我的开发机器(带有gcc 4.4.3的Ubuntu 10.0.4(上进行构建。

当我构建v 0.17.0时,我注意到屏幕上闪烁了一些错误。我运行make checkmake test,都失败了(cc错误(。

对于v 0.17.0,当我运行valac时,出现以下错误:

Valac:加载共享库时出错:libvala-0.18.so.0:无法 打开共享对象文件:没有此类文件或目录

请注意共享库的不同版本号(这是一个错误吗?无论如何,我搜索了整个系统,以查看该文件是否已在我的系统上的其他地方创建。找不到该文件。

然后我下载了v 0.16.0并构建了它。 make checkmake 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

而那一套,现在一切都很好。

最新更新