在linux上配置软件时,我经常遇到这个问题。当我通过克隆存储库然后执行通常的
来安装一些库(例如libsodium
)时
./autoconf.sh
./configure
make
make install
我在/usr/local/
安装了所有内容,这对我来说绝对有用。
不幸的是,当我尝试安装依赖于此库的内容时(例如libzmq
),我遇到了问题
configure: error: Package requirements (libsodium) were not met:
No package 'libsodium' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables sodium_CFLAGS
and sodium_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
我想问题是因为configure
正在查看usr/
而不是/usr/local
。丑陋的解决方法是在usr/
而不是/usr/local
中安装所有内容。更残酷的方法是将/usr/local
中安装的所有内容复制到/usr/
。
面对这类问题时,正确的解决方案是什么?
我应该如何调整PKG_CONFIG_PATH
或sodium_LIBS
?
答案 0 :(得分:1)
通过shell将PKG_CONFIG_PATH设置为/ usr / local。
有些人使用出口,有些则使用其他方式。
电子。 G。 export PKG_CONFIG_PATH = / usr / locall
答案 1 :(得分:0)
运行:
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
<。>之前的./autogen.sh&amp;&amp;的./configure。