使用gnu autoconf,有没有一种内置到沙箱中的方法?

问题描述 投票:2回答:1

在这种情况下,我正在尝试构建的GPG。基本上,我希望所有构建输出都进入我选择的子目录,而不是安装在我的实时文件系统上。

Setting --prefix = path / to / my / sandbox将一个构建的输出发送到我想去的地方,但是下一个构建阶段可以取决于上一个构建阶段的输出,找不到该输出。

示例:

$ cd libgpg-error-1.37
$ ./configure --prefix=/Users/falk/GpgSandbox/usr/local
$ make
$ make install
  (success: all output placed in /Users/falk/GpgSandbox/usr/local/)
$ cd ../libassuan-2.5.3
$ ./configure --prefix=/Users/falk/GpgSandbox/usr/local
...
configure: error: libgpg-error was not found
$

我是否可以传递给./configure使其在沙箱中找到库的另一个选项?我应该在VM或Docker容器中构建?

sandbox autoconf
1个回答
0
投票

非常感谢@hyde指出正确的方向。解决的办法是在构建之前设置一些环境变量:

mkdir -p /Users/falk/Gpg/GpgSandbox/usr/local/
export CPPFLAGS='-I/Users/falk/GpgSandbox/usr/local/include'
export LDFLAGS='-L/Users/falk/GpgSandbox/usr/local/lib'
export PATH="$PATH:/Users/falk/GpgSandbox/usr/local/bin"
cd libgpg-error-1.37/
./configure --prefix=/Users/falk/GpgSandbox/usr/local
make install
(etc.)
© www.soinside.com 2019 - 2024. All rights reserved.