【问题标题】:IBM Worklight 6.0 - Segmentation fault errorIBM Worklight 6.0 - 分段错误错误
【发布时间】:2026-01-06 09:10:01
【问题描述】:

我正在尝试在设备上运行 IBM 为 FIPS 共享的示例代码。

运行时出现以下错误。
知道为什么吗?

/Users/ctsmacminibtp5ne35/Library/Developer/Xcode/DerivedData/JSONStoreEncryptingSensitiveDataWithFIPSProject-1SampleIphone-cqxfkcnledkobshgrkgsluzvxofu/Build/Intermediates/JSONStoreEncryptingSensitiveDataWithFIPSProject-1SampleIphone.build/Debug-iphoneos/JSONStoreEncryptingSensitiveDataWithFIPSProject-1SampleIphone.build/Script-427B829D1393724500F223DC.sh: 第 8 行: /Users/ctsmacminibtp5ne35/Desktop/NativeCode/JSONStoreEncryptingSensitiveDataWithFIPSProject-1/apps/Sample/iphone/native/: 是一个使用脚本完成的目录:(exitStatus=126)\n\n /Users/ctsmacminibtp5ne35/Library/Developer/Xcode/DerivedData/JSONStoreEncryptingSensitiveDataWithFIPSProject-1SampleIphone-cqxfkcnledkobshgrkgsluzvxofu/Build/Intermediates/JSONStoreEncryptingSensitiveDataWithFIPSProject-1SampleIphone.build/Debug-iphoneos/JSONStoreEncryptingSensitiveDataWithFIPSProject-1SampleIphone.build/Script-427B829D1393724500F223DC.sh: 第 12 行:1604 分段错误:11 /usr/local/bin/incore_macho -exe "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" 命令 /bin/sh 失败,退出代码为 126

参考代码链接:http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v600/JSONStoreEncryptingSensitiveDataWithFIPSProject.zip

PDF链接:http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v600/05_12_JSONStore_-_Encrypting_sensitive_data_with_FIPS.pdf

【问题讨论】:

  • 您使用的是哪个版本的工作灯?
  • 另外,您使用的确切示例的链接会有所帮助。
  • 使用提供的链接中的示例并遵循 PDF,我无法重现您的错误。为我成功启用了 FIPS 模式。段错误发生在构建时,而不是在运行时,对吗?你在建造什么建筑?您能否提供尽可能多的有关您正在使用的机器和您尝试为其构建的 iOS 设备的信息?
  • @jnortey,我在构建时使用标准 i386 和 armv7 架构。我也在构建本身时收到此错误。您还可以通过 github 分享在您的 mac 上运行的示例代码。请让我知道这是否可以做到。
  • 这很奇怪...我认为分享这个项目对我们没有多大帮助。您的机器上的核心男子气概执行失败,但我不知道为什么。你运行的是什么版本的 OSX?我在 10.9.2 上运行它。

标签: ios xcode openssl ibm-mobilefirst fips


【解决方案1】:

似乎与示例捆绑在一起的 incore_macho 是使用 10.7.5 之后的 OSX 版本构建的(尽管我目前无法确认它是用什么版本构建的)。您可以通过以下步骤构建自己的 incore_macho 文件:

1.转到以下网站:

http://openssl.com/fips/2.0/platforms/ios/

并下载以下文件:

ios-incore-2.0.1.tar.gz
setenv-reset.sh
setenv-darwin-i386.sh

2。解压 ios-incore-2.0.1.tar.gz。它将产生以下文件结构:

openssl-fips-2.0.1/iOS

3. cd 进入 iOS 文件夹

4.运行两个下载的脚本:

.  ./setenv-reset.sh
.  ./setenv-darwin-i386.sh

5.在 iOS 文件中运行“make”。

这将为您的系统生成一个新的 incore_macho 文件。您可以通过运行 ./incore_macho 来确认该实用程序是否正常工作。

有关更深入的说明,请参阅FIPS User Guide 的第 124 页

【讨论】: