macOS High Sierra安装OpenVPN报错:configure: error: lzo enabled but missing
解决macOS High Sierra编译OpenVPN时的lzo依赖找不到问题
我碰到过好几次这种情况——用MacPorts装了依赖,但configure就是认不出来,核心原因是MacPorts的库文件默认放在/opt/local下面,而OpenVPN的configure脚本默认不会去这个路径搜索。给你几个一步步的解决办法:
第一步:确认lzo真的装对了
先跑这个命令检查MacPorts里的lzo安装状态:port installed lzo你应该能看到类似
lzo @2.10_0 (active)的输出,要是没装或者没激活,先执行sudo port install lzo确保安装完成。第二步:手动指定依赖路径给configure
直接用默认的./configure肯定找不到/opt/local下面的文件,得把路径明确告诉它,执行这个命令代替原来的configure:./configure CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib"这里
CPPFLAGS指定头文件的路径,LDFLAGS指定库文件的路径,都是MacPorts的标准位置。如果还是不行,试试强制指定lzo的安装目录
要是上面的命令还是报错,直接把lzo的根目录传给configure:./configure --with-lzo=/opt/local CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib"最后清理缓存重试
有时候之前的configure缓存会搞事情,先清理一下再重新来:make clean autoreconf -i -v -f ./configure CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib"
另外提一句,要是你之后经常编译开源软件,也可以考虑把MacPorts的路径加到环境变量里,比如在~/.bash_profile或者~/.zshrc里加:
export CPPFLAGS="-I/opt/local/include" export LDFLAGS="-L/opt/local/lib" export PATH="/opt/local/bin:$PATH"
这样之后再编译其他软件就不用每次手动指定路径了。
内容的提问来源于stack exchange,提问作者freedev
相关产品推荐
相关产品推荐

