Autoconf 让/配置在特定目录中查找库文件

Autoconf 让/配置在特定目录中查找库文件,autoconf,Autoconf,我目前正在几个服务器的共享空间上安装R软件。安装后,我发现当我登录到不同的服务器时,由于不同机器上缺少一些库文件,R不能保证运行。 下面是我试图做的:因为R的安装依赖于机器,所以我想将所有缺少的库文件(如libtermcap.so.2、libg2c.so.1等)放在共享空间上的一个目录中,这样当我运行./configure时,它也会搜索这个目录。因为这个目录是共享的,所以安装可以独立于机器,所以我不需要在每台服务器上添加丢失的文件 当我运行./configure时,是否有实现这一点的选项?谢谢。

我目前正在几个服务器的共享空间上安装R软件。安装后,我发现当我登录到不同的服务器时,由于不同机器上缺少一些库文件,R不能保证运行。 下面是我试图做的:因为R的安装依赖于机器,所以我想将所有缺少的库文件(如libtermcap.so.2、libg2c.so.1等)放在共享空间上的一个目录中,这样当我运行./configure时,它也会搜索这个目录。因为这个目录是共享的,所以安装可以独立于机器,所以我不需要在每台服务器上添加丢失的文件


当我运行./configure时,是否有实现这一点的选项?谢谢。

假设您已将库文件复制到
/shared/lib/
并将头文件复制到
/shared/include/
,则可以运行

./configure LDFLAGS=-L/shared/lib CPPFLAGS=-I/shared/include ...other options...
但是,请注意,当您必须说服您的安装使用正确目录中的共享库时,您在运行时一定会遇到麻烦,尤其是在有人决定升级相应主机上的默认版本时。整个业务依赖于平台和安装。我认为,如果您的主机不完全相同,您应该以适合各自系统的方式在本地安装软件(R)。

Peter的回答是正确的(+1),请特别注意他关于在本地安装的建议。从长远来看,使用本地包管理系统并在每个框上自动更新是一个比在共享驱动器上获取兼容的二进制文件/库容易得多的解决方案。为了简化使用Peter的解决方案,请注意,您可以在/shared/share/config.site中放置适当的参数。例如:

$ cat > /shared/share/config.site << EOF : ${LDFLAGS=-L/shared/lib} : ${CPPFLAGS=-I/share/include} EOF $cat>/shared/share/config.site