【问题标题】:How do I build vala from scratch我如何从头开始构建 vala
【发布时间】:2018-01-20 05:55:38
【问题描述】:

当我尝试构建 vala (https://github.com/gnome/vala) 时,我从 autogen 收到一个错误,指出必须已经安装了 vala 才能构建 vala。那么如何在还没有它的系统上构建它呢?我知道它是自托管的,但必须有一些方法来引导它。

我的操作系统是 Android-x86 6.x

【问题讨论】:

    标签: gnome vala


    【解决方案1】:

    您可以下载source tarball from download.gnome.org 并从那里构建。 tarball 包含生成的 C 代码,用于在未安装 Vala 编译器的情况下构建编译器。

    过程大概是这样的:

    curl --location https://download.gnome.org/sources/vala/0.38/vala-0.38.4.tar.xz \
         --output vala-0.38.4.tar.xz
    tar --extract --file vala-0.38.4.tar.xz
    cd vala-0.38.4/
    ./configure
    make
    

    配置脚本应该检测到没有安装valac 并选择引导选项。如果遇到问题,您也可以尝试make bootstrap

    然后您可以运行测试套件并安装到通常的 Unix 文件位置:

    make check
    make install
    

    虽然安装部分可能与 Android 无关。

    【讨论】:

    • 那行得通。谢谢。我正在混淆./configure。只要能满足依赖,这个应该可以!
    • 看来我说得太早了 :( 我从 make 中得到一个错误:./build-aux/git-version-gen: No such File or Directory Makefile:994: recipe for target 'gen-版本'失败。它似乎使用 git 为某些东西生成版本???我以前从未见过这个。
    • 这是Vala的版本。如果您从 master 构建并执行valac --version,您将获得一个“脏”版本号,例如 Vala 0.39.4.12-f8678d。正是该脚本使用git 来查找标签以创建版本。然而,在 tarball 中,应该有一个文件 .tarball-versiongit-version-gen 会找到它。 Android上的脚本中可能出现问题的可能是文件测试与shell不兼容,您没有安装cat命令。另一种选择是破解脚本。在开头尝试cat ../.tarball-version | tr --delete "\n"; exit 0
    • 谢谢 - 评论版本检查工作。但我一个接一个地遇到问题。 Android 就是无法提供工具链。所以我决定从 Ubuntu 交叉编译。但我也无法在 Ubuntu 上构建,我遇到了类似的问题。目前我被困在另一个 Gnome 实用程序“libtools”上。我想我期待一个更直接的构建,但这需要如此多的内部知识,它也可能是专有的。我不再为此失眠了,我放弃了。普通人做不到,这需要一个侏儒:)
    • 当然,工具链,尤其是交叉编译,是一件复杂的事情。学习需要时间和毅力。 libtools 是 Autotools 的一部分,而不是 GNOME。 GNOME 正在从使用 Autotools 构建系统切换到 Meson。对于那些刚接触流程的人来说,这有望使这些事情变得更简单
    猜你喜欢
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多