Linux自动环境变量设置?

4

我安装了libffi-3.0.11,因为另一个程序需要它。但是在安装后,通过调用./configure命令的另一个程序无法识别已安装的libffi。我需要设置环境变量吗?还是所有变量都会自动设置?


你可能需要执行 'ldconfig' 命令。同时,通过执行 'ldd' 查看二进制文件需要什么以及在哪里查找。 - sardok
2个回答

1

这要看情况,如果你在/usr/local上安装了libffi,那么你应该将想要配置的应用程序的包含目录设置为/usr/local

对于新应用程序,请尝试使用./configure --prefix=/usr/local。要查看configure的选项,请使用./configure --help。你能展示一下哪些地方没有运行吗?


1
通常有一个LIBPATH,您应该尝试将您的lib所在目录包含到此路径中。另外,如果您有一个默认的bash,
export LIBPATH=/your/libffi/path:$LIBPATH
我强烈建议将其放入脚本并在每次登录时自动加载,以便您无需重复此步骤
/home/yourhome/.profile <- 确保将其插入到此文件中,自动加载
以下是如何执行此任务的指南: http://archive.linuxfromscratch.org/lfs-museum/5.1-pre1/LFS-BOOK-5.1-PRE1-HTML/chapter06/glibc.html 您可能需要的参数是以下内容: ./configure --libexecdir=/usr/lib:
如果您已正确安装libffi库,则应完全解决您的问题。

1
LIBPATH 不影响链接器。你可能将其与 LD_LIBRARY_PATH 混淆了。 - Maxim Egorushkin
Peter没有提到链接器,只是说另一个程序需要它。通常,如果它是一个共享库,并且他有一个需要libffi的可执行文件,这就足够了。顺便说一句,他说“安装后”。 - Oliver
@ Oliver 对不起,是我的错。另一个程序(顺便说一下,是glib-2.33.3)需要LIBFFI来进行“./configure”。 - Peter
@Peter,如果可以的话,您可以尝试Maxim Yegorushkin的解决方案,通过设置LD_LIBRARY_PATH来实现。另一个解决方案是看看是否可以在不需要这些功能的情况下进行构建。了解它当前正在查找哪些路径非常重要。另一种可能有用的选择是LDFLAGS,请查看是否可以在configure命令中定义它们,这是lib-linker标志。 - Oliver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接