Firebreath 插件无法在 Mac OS 10.7 上加载

firebreath plugin could not be loaded on mac os 10.7

本文关键字:加载 OS Mac 插件 Firebreath      更新时间:2023-10-16

问题

我有一个从火呼吸创建的浏览器插件在 mac osx 10.8 上运行良好。但是我在 mac osx 10.7 上收到"无法加载 UploaderPlugin(我的插件名称("错误。

我的插件项目中包含几个外部库。经过几个小时的工作,我发现当我从项目中删除 libcurl 库时,错误消失了,每次我尝试包含 libcurl 库时都会出现相同的错误。

所以很明显,这个错误与 libcurl 库有关。由于libcurl依赖于openssl和zlib。我再次从源代码编译了三个库,但同样的错误仍未解决。

来自控制台的错误消息

13-10-10

下午12:56:33.500 Google Chrome Helper EH:加载时出错/users/admin/Library/Internet Plug-Ins/npUploaderPlugin.plugin/Content/MacOS/npUploaderPlugin: dlopen(/Users/admin/Library/Internet Plug-Ins/npUploaderPlugin.plugin/Content/MacOS/npUploaderPlugin, 262(: 找不到符号:_CAST_ecb_encrypt 引用自:/Users/admin/Library/Internet Plug-Ins/npUploaderPlugin.plugin/Content/MacOS/npUploaderPlugin 预期在:/usr/lib/libSystem.B.dylib in/users/admin/Library/Internet Plug-Ins/npUploaderPlugin.plugin/Content/MacOS/npUploaderPlugin

13-10-10 下午12:56:33.501 [0x0-0x2a82a8].com.google.Chrome: [10071:2819:1010/125633:ERROR:webplugin_delegate_proxy.cc(390(] PluginMsg_Init返回错误

13-10-10 下午12:56:33.501 [0x0-0x2a82a8].com.google.Chrome: [10071:2819:1010/125633:错误:webplugin_impl.cc(258(] 无法初始化插件


从错误 msg 中决定,我可以看到主要问题是找不到符号_CAST_ecb_encrypt。我用谷歌搜索了一下,什么也没得到。

环境

Mac OS X 10.8 + Chrome 28.0.1500.71(工作正常(

Mac OS X 10.7 + Chrome 29.0.1547.22 beta(收到错误消息(

火息版本:1.7

库尔版本:7.26.0

OpenSSL版本:1.0.1C

兹利布版本:1.2.7

C-战神版本:1.10.0

任何建议将不胜感激。如果您需要更详细的信息,请随时通知我。

它实际上可能与 libcurl 直接相关,也可能不直接相关; 这可能是 curl 由于您链接它的方式而导致链接的内容。我的第一个猜测是您需要将部署目标设置为 10.7;如果在 10.8 上构建,则默认情况下,将使用的目标和 SDK 是 10.8 目标和 10.8 SDK。 通常,您可以安全地使用 10.8 SDK 为 10.7 进行构建,但可能需要设置部署目标。

您可以通过向准备脚本添加-D CMAKE_OSX_DEPLOYMENT_TARGET=10.8来做到这一点:

../firebreath/prepmac.sh ./projectDir ./buildDir -D CMAKE_OSX_DEPLOYMENT_TARGET=10.8