我很想听听你解决这个问题的解释和方法,这个问题我已经面对这么长时间了。
我在远程集群中工作,不允许使用sudo命令,并且不允许对$ HOME分支上的目录执行任何操作
($HOME=/storage/5/trentalove
)
我需要配置
$HOME/external/trentacoollime
使用boost $HOME/boost_1_65_1
使用来自http://www.boost.org/users/history/version_1_65_1.html
(请注意,sudo apt-get install libboost-all-dev
是不允许的。)
然后,我在.bash_profile中定义我的PATH变量并导出为 `export PATH = $ HOME / boost_1_65_1:$ PATH'
但是,当我在$ HOME / external / trentacoollime目录中配置
时./configure
我收到了一条错误消息
configure:error:找不到Boost标题版本> = 1.41.0
当我配置
时./configure --with-boost=../../boost_1_65_1
它没有给我任何错误消息并且已成功配置。
我的猜测是,因为我定义并将PATH变量导出到boost目录,所以当我执行--with-boost=../../boost_1_65_1
命令时,我不需要./configure
选项。但是,我需要它。
有人能解释我错过了什么吗?
P.S。我在自己的机器上使用sudo apt-get install libboost-all-dev
执行了同样的操作,在/usr/include
目录下安装了boost_1_65_1。
然后我仍然可以使用$HOME/external/trentacoollime
和./configure
选项配置--with-boost=
($ PATH的定义方式与集群中的相同)。
但请注意,我无法在群集中实现相同的策略,因为我没有权限使用sudo,也没有任何类型的mv,cp,ln命令/usr/include
,它位于比{{{1}更高的分支上。 1}}目录。
答案 0 :(得分:0)
使用PATH对autotools没有影响(除非在配置过程中找到要执行的二进制文件)。
除非您的具体项目已做出其他安排,否则您需要提供except Exception as e:
excep = logger.info("an error I would like to log")
。有时他们会使用--with-boost
或选择专用的环境变量(例如pkg-config
或BOOST_DIR
)。
我不认为其中任何一个都受基于autotools项目的欢迎。