firebreath插件无法在mac os 10.7上加载

时间:2013-10-10 06:22:03

标签: c++ macos google-chrome openssl firebreath

问题

我有一个从firebreath创建的浏览器插件在mac osx 10.8上正常工作。但我得到了一个"无法加载UploaderPlugin(我的插件名称)" mac osx 10.7上的Chrome出错。

我的插件项目中包含了几个外部库。经过几个小时的工作,我发现当我从项目中删除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 / Contents / MacOS / npUploaderPlugin:dlopen(/ Users / admin / Library / Internet Plug-Ins / npUploaderPlugin.plugin / Contents / MacOS / npUploaderPlugin,262):找不到符号:_CAST_ecb_encrypt     引用自:/ Users / admin / Library / Internet Plug-Ins / npUploaderPlugin.plugin / Contents / MacOS / npUploaderPlugin     预期在:/usr/lib/libSystem.B.dylib    在/ Users / admin / Library / Internet Plug-Ins / npUploaderPlugin.plugin / Contents / MacOS / npUploaderPlugin

     

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

     

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


根据错误消息判断我可以看到主要问题是找不到符号_CAST_ecb_encrypt。我用Google搜索并没有任何关注。

管环境

mac os x 10.8 + chrome 28.0.1500.71(工作正常)

mac os x 10.7 + chrome 29.0.1547.22 beta(得到错误消息)

firebreath版本:1.7

libcurl版本:7.26.0

openssl版本:1.0.1c

zlib版本:1.2.7

c-ares版本:1.10.0

任何建议都将受到赞赏。如果您需要更详细的信息,请务必告知我。

1 个答案:

答案 0 :(得分:0)

它实际上可能与libcurl直接相关,也可能没有;由于你如何链接它,它可能是卷曲导致链接的东西。我的第一个猜测是你需要将部署目标设置为10.7;如果你在10.8上构建,默认情况下你将使用的目标和SDK是10.8目标和10.8 sdk。 通常您可以安全地使用10.8 sdk构建10.7,但您可能需要设置部署目标。

您可以通过将-D CMAKE_OSX_DEPLOYMENT_TARGET=10.8添加到prep script

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