You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:38:26