升级到Mojave后,找不到“ libffi”软件包的怪异行为

时间:2019-09-14 20:40:00

标签: cmake homebrew macos-mojave libffi

将操作系统从High-Sierra升级到Mojave之后,我开始出现cmake问题。

cmake当前问题是识别已安装的软件包。 问题:

> --   Package 'libffi', required by 'gobject-2.0', not found CMake Error at
> /usr/local/Cellar/cmake/3.14.5/share/cmake/Modules/FindPkgConfig.cmake:457
> (message):   A required package was not found Call Stack (most recent
> call first):  
> /usr/local/Cellar/cmake/3.14.5/share/cmake/Modules/FindPkgConfig.cmake:642
> (_pkg_check_modules_internal)

我的Mac在两个位置安装了此软件包-/usr/local/Cellar/libffi/3.2.1/lib/pkgconfig/usr/local/opt/libffi/lib/pkgconfig

在环境变量PKG_CONFIG_PATHexport PKG_CONFIG_PATH="/usr/local/Cellar/libffi/3.2.1/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig")中指定这些位置。同时设置LDFLAGS路径并运行cmake。

奇怪的是,我的cmake有时会成功,而有时会由于上述错误而继续失败。我尝试通过清除以前cmake的所有缓存cmake文件来实现cmake。

莫哈韦沙漠地区cmake行为不一致的原因是什么?我错过了什么吗?

参考类似的问题(建议设置pkg config路径可以解决此问题):


Mojave升级后,我必须立即执行的步骤:

 > xcode-select --install
 > open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

某些命令的结果:

  • brew info libffi
  

libffi:稳定的3.2.1(带瓶装),HEAD [仅插电]便携式外部   功能接口库https://sourceware.org/libffi/   /usr/local/Cellar/libffi/3.2.1(16个文件,296.8KB)从   瓶子于2019-09-13 at 17:43:05来自:   https://github.com/Homebrew/homebrew-core/blob/master/Formula/libffi.rb   ==>选项    - 头           安装HEAD版本   ==>警告libffi仅限于小桶,这意味着它没有符号链接到/ usr / local,因为某些公式需要使用较新版本的libffi。

     

对于编译器来说,找到libffi可能需要设置:export   LDFLAGS =“-L / usr / local / opt / libffi / lib”

     

对于pkg-config查找libffi,您可能需要设置:导出   PKG_CONFIG_PATH =“ / usr / local / opt / libffi / lib / pkgconfig”

  • 酿造-前缀
  

/ usr / local

0 个答案:

没有答案