gpt4 book ai didi

unix - 如何构建二进制文件并在 Unix 的多台机器上使用它?

转载 作者:行者123 更新时间:2023-12-01 08:11:08 25 4
gpt4 key购买 nike

我有一个编译器的源代码,我是这样构建的:

/path/to/srcdir/configure --prefix=/path/to/installdir
make
make install

我想将生成的“installdir”分发到其他机器,目的是任何人都可以使用编译器二进制文件而无需经过 3 阶段构建过程(我只是将 installdir 包含在我的分发 tarball 中)。

为了测试,我将 installdir 复制到不同用户下的另一台机器,然后尝试使用我刚刚复制过来的二进制文件编译测试程序,如下所示:

installdir/bin/ucc -mp -o test load_bl.c

然后,我得到如下错误:

cc1: error: /home/sghosh/normalbuild/installdir/open64-gcc-4.2.0/include: Permission denied
cc1: error: /home/sghosh/normalbuild/installdir/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/include: Permission denied
cc1: error: /home/sghosh/normalbuild/installdir/open64-gcc-4.2.0/x86_64-redhat-linux/include: Permission denied

/home/sghosh/normalbuild/install 是在我的构建机器上的 configure 期间指定为 --prefix 的内容。 installdir/bin/ucc 二进制文件需要 installdir 下 open64-gcc-4.2.0 目录中的一些文件,但因为那是 中提到的路径—— prefix,所以它仍然在那里寻找它,我希望它在当前机器中查看相同的目录。仅供引用,我没有 sudo/root 权限。

在这种情况下,我如何想出一个可以在任何机器上运行的二进制分发版(构建一次,随处使用),而不是查看初始的 --prefix 路径?

我在 super 用户中遇到过类似的问题,但由于进行了大量编辑并且我没有对新问题做出回应,所以我将其写在这里。

最佳答案

检查此工具:https://github.com/pgbovine/CDE

CDE 是一种自动打包运行任何 Linux 命令集所涉及的代码、数据和环境的工具,这样它们就可以在另一台计算机上以相同的方式执行,而无需任何安装或配置。

关于unix - 如何构建二进制文件并在 Unix 的多台机器上使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8115314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com