为什么我在定义 PATH 变量时仍然要使用 --with-boost 选项
Why should I STILL use --with-boost option when I defined the PATH variable
我很想听听您对我长期以来一直面临的问题的解释和解决方法。
我在远程集群中工作,其中不允许使用 sudo 命令并且不允许对 $HOME 分支之上的目录进行任何操作
($HOME=/storage/5/trentalove
)
我需要配置
$HOME/external/trentacoollime
with boost 库,我使用 http://www.boost.org/users/history/version_1_65_1.html
的 boost_1_65_1.tar.bz2 源安装在 $HOME/boost_1_65_1
(请注意 sudo apt-get install libboost-all-dev
是不允许的。)
然后,我在 .bash_profile 中定义我的 PATH 变量并导出为
`导出路径 = $HOME/boost_1_65_1:$PATH'
但是,当我在 $HOME/external/trentacoollime 目录中配置时,
./configure
我收到错误消息提示
configure: error: cannot find Boost headers version>=1.41.0
当我配置
./configure --with-boost=../../boost_1_65_1
没有报错,配置成功。
我的猜测是,由于我定义了PATH变量并将其导出到boost目录,因此在执行./configure
命令时不需要--with-boost=../../boost_1_65_1
选项。但是,我需要它。
有人可以解释一下我错过了什么吗?
p.s。我在自己的机器上用 sudo apt-get install libboost-all-dev
做了同样的事情,它在 /usr/include
目录下安装了 boost_1_65_1。
然后,我仍然可以仅使用 ./configure
而没有 --with-boost=
选项来配置 $HOME/external/trentacoollime
($PATH 的定义方式与集群中的定义方式相同)。
但是,请注意,我无法在集群中实施相同的策略,因为我没有 sudo 的权限,也没有任何类型的 mv、cp、ln 命令到 /usr/include
,它位于比我的 [= 更高的分支24=]目录。
使用 PATH 对 autotools 没有影响(除了可能在配置过程中找到要执行的二进制文件)。
无论如何您都需要提供--with-boost
,除非您的具体项目另有安排。有时他们使用 pkg-config
或选择专用环境变量(如 BOOST_DIR
或 BOOST_ROOT
)。
我认为这两个在基于 autotools 的项目中都不流行。
我很想听听您对我长期以来一直面临的问题的解释和解决方法。
我在远程集群中工作,其中不允许使用 sudo 命令并且不允许对 $HOME 分支之上的目录进行任何操作
($HOME=/storage/5/trentalove
)
我需要配置
$HOME/external/trentacoollime
with boost 库,我使用 http://www.boost.org/users/history/version_1_65_1.html
的 boost_1_65_1.tar.bz2 源安装在$HOME/boost_1_65_1
(请注意 sudo apt-get install libboost-all-dev
是不允许的。)
然后,我在 .bash_profile 中定义我的 PATH 变量并导出为 `导出路径 = $HOME/boost_1_65_1:$PATH'
但是,当我在 $HOME/external/trentacoollime 目录中配置时,
./configure
我收到错误消息提示
configure: error: cannot find Boost headers version>=1.41.0
当我配置
./configure --with-boost=../../boost_1_65_1
没有报错,配置成功。
我的猜测是,由于我定义了PATH变量并将其导出到boost目录,因此在执行./configure
命令时不需要--with-boost=../../boost_1_65_1
选项。但是,我需要它。
有人可以解释一下我错过了什么吗?
p.s。我在自己的机器上用 sudo apt-get install libboost-all-dev
做了同样的事情,它在 /usr/include
目录下安装了 boost_1_65_1。
然后,我仍然可以仅使用 ./configure
而没有 --with-boost=
选项来配置 $HOME/external/trentacoollime
($PATH 的定义方式与集群中的定义方式相同)。
但是,请注意,我无法在集群中实施相同的策略,因为我没有 sudo 的权限,也没有任何类型的 mv、cp、ln 命令到 /usr/include
,它位于比我的 [= 更高的分支24=]目录。
使用 PATH 对 autotools 没有影响(除了可能在配置过程中找到要执行的二进制文件)。
无论如何您都需要提供--with-boost
,除非您的具体项目另有安排。有时他们使用 pkg-config
或选择专用环境变量(如 BOOST_DIR
或 BOOST_ROOT
)。
我认为这两个在基于 autotools 的项目中都不流行。