fips_premain体系结构的未定义符号

时间:2017-03-13 16:46:00

标签: ios xcode openssl fips

我已经更新了我的iOS脚本,现在使用最新的fips-2.0.14和openssl-1.1.0e为所有拱门构建。

在我使用1.0.2h之前,我相信并且fips-2.0.12并且没有添加armv7s支持。我需要添加它,以便我相应地升级和调整我的脚本https://gist.github.com/jostster/ebbc6925c668b632d8b185293080256c

这很好用,但是我现在在xcode中构建应用程序时出错了。

Undefined symbols for architecture armv7:

  "_FIPS_text_start", referenced from:

      _FINGERPRINT_premain in fips_premain.o

  "_FIPS_signature", referenced from:

      _FINGERPRINT_premain in fips_premain.o

      +[VTFipsInfo getEmbeddedFingerprint] in VTFipsInfo.o

  "_FIPS_incore_fingerprint", referenced from:

      _FINGERPRINT_premain in fips_premain.o

      +[VTFipsInfo getExpectedFingerprint] in VTFipsInfo.o

ld: symbol(s) not found for architecture armv7

VTFipsInfo.o是我的objective-c文件,如果启用了FIPS并获得要显示给最终用户的哈希值。如果我在我们的buildkite服务器上尝试这个,它用x86_64替换armv7。但是,在我的libssl和libcrypt.a上运行lipo --info会返回

Architectures in the fat file: libssl.a are: armv7 i386 armv7s x86_64 arm64 
Architectures in the fat file: libcrypto.a are: armv7 i386 armv7s x86_64 arm64 

我在xcode中的有效架构是armv7,armv7s和armv64。在我升级openssl并添加armv7s支持之前,这不是问题。

任何想法如何解决这个问题?

更新1 使用上面的脚本编译libcrypto.alibssl.a,然后您可以使用位于http://openssl.com/fips/2.0/platforms/ios/fips-pi.tar.gz示例应用程序进行测试。这遇到了同样的错误。

0 个答案:

没有答案