我通常会构建我的库./configure && make && sudo make install
。但Travis文档不鼓励使用sudo http://docs.travis-ci.com/user/workers/container-based-infrastructure/
所以我将构建命令更改为./configure --prefix=$HOME && make && make install
。这很有效,但是在下一步(构建Python扩展)时出现了错误
/ usr / bin / ld:找不到-lprimesieve
有什么想法吗?我是否需要将$HOME/lib
添加到某些环境变量中,因为我更改了前缀?
答案 0 :(得分:2)
尝试为库设置LD_LIBRARY_PATH
集PATH
。例如:
LD_LIBRARY_PATH= $HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
有关库路径变量的更多详细信息是here。
具体影响 configure 脚本如何将参数传递给编译的环境变量是 LIBS 和 LD_FLAGS 。 bash ./configure --help
提及这些。
正如你在评论中提到的LIBRARY_PATH
也需要设置。有关差异的解释,请参阅LD_LIBRARY_PATH vs LIBRARY_PATH。