我们正在尝试在ppc64le Ubuntu16.04上构建Apple Swift。我们在以下链接上使用构建脚本在ppc64le上构建了它:-https://github.com/ppc64le/build-scripts/blob/60b7885f4f0915a8671b3cfb86ddbb65f9b988a8/swift/swift41_ubuntu_16.04.sh
这样,我们就可以为某些基本的“ Hello World”类型的代码运行'swiftc'和REPL环境。但是,对于复杂的代码,例如import Foundation,它会失败(可能是由于Package Manager问题)。迅速使用“ import Foundation”时,出现编译错误,如下所示:
(swift) import Foundation
<REPL Input>:1:8: error: no such module 'Foundation'
import Foundation
^
我们正在尝试使用build-toolchain在Power8 / LE(ppc64le)上构建Swift 4.2(因为Swift v4.1已经发布,并且该分支上没有任何进一步的开发。),以便构建Swift包管理器和其他工具。
我们看到的崩溃可以追溯到HeapObject.cpp文件中的以下功能:
static HeapObject *_swift_retain_(HeapObject *object) {
SWIFT_RT_TRACK_INVOCATION(object, swift_retain);
if (isValidPointerForNativeRetain(object))
object->refCounts.increment(1);
return object;
}
除此以外,使用简单的print语句进行调试非常棘手,并且代码流不清楚。无法设置断点,因为无法在调试模式下构建代码,因为它会耗尽资源并挂起。在这里的任何帮助将不胜感激。任何其他输出,都可以共享错误。
期待在Ubuntu16.04上移植Apple Swift。
关于, 萨尔维什·坦巴(Sarvesh Tamba)