[英]Swift commandline tool builds in debug mode but not in release
我正在嘗試構建此命令行工具: https : //github.com/kindlychung/swiftsci
在調試模式下,它可以正常編譯,並且二進制文件可以按預期工作。 但是當我在發布模式下構建時,出現以下錯誤:
Information:Building target 'swiftsci' from 'swiftsci' with configuration 'Release' for architecture 'x86_64' using 'OS X 10.11' sdk
Error:Build failed in 6s 446ms
Note:Write auxiliary files
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-all-target-headers.hmap
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-project-headers.hmap
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci.hmap
Note:/bin/mkdir -p /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/swiftsci-OutputFileMap.json
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-generated-files.hmap
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-all-non-framework-target-headers.hmap
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swift-overrides.hmap
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-own-target-headers.hmap
Note:write-file /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/swiftsci.LinkFileList
x86_64
Note:0 swift 0x000000010997bfbb llvm::sys::PrintStackTrace(__sFILE*) + 43
Note:1 swift 0x000000010997c6fb SignalHandler(int) + 379
Note:2 libsystem_platform.dylib 0x00007fff88ca8f1a _sigtramp + 26
Note:3 libsystem_platform.dylib 0x0005000200000005 _sigtramp + 1999991045
Note:4 swift 0x0000000107d5eb29 (anonymous namespace)::SILClosureSpecializerTransform::run() + 9433
Note:5 swift 0x0000000107cd8d99 swift::SILPassManager::runOneIteration() + 1689
Note:6 swift 0x0000000107cd73cb swift::runSILOptimizationPasses(swift::SILModule&) + 651
Note:7 swift 0x0000000107a6cb16 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&) + 11830
Note:8 swift 0x0000000107a69ad3 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2691
Note:9 swift 0x0000000107a66154 main + 2324
Note:10 libdyld.dylib 0x00007fff86ce15c9 start + 1
Note:Stack dump:
Note:0. Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/kaiyin/appcodeProjects/swiftsci/swiftsci/main.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Extensions/String.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Docopt.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Either.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Option.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Tokens.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Command.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Pattern.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Argument.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Optional.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/Required.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/OneOrMore.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/DocoptError.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/LeafPattern.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/BranchPattern.swift /Users/kaiyin/appcodeProjects/swiftsci/docopt/OptionsShortcut.swift -primary-file /Users/kaiyin/appcodeProjects/swiftsci/swiftsci/sciNotation/sci.swift -target x86_64-apple-macosx10.10 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -I /Users/kaiyin/appcodeProjects/swiftsci/Build/Products/Release -F /Users/kaiyin/appcodeProjects/swiftsci/Build/Products/Release -g -module-cache-path /Users/kaiyin/Library/Caches/AppCode33/DerivedData/swiftsci-e581131b/ModuleCache -serialize-debugging-options -Xcc -I/Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-generated-files.hmap -Xcc -I/Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-own-target-headers.hmap -Xcc -I/Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-all-target-headers.hmap -Xcc -iquote -Xcc /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/swiftsci-project-headers.hmap -Xcc -I/Users/kaiyin/appcodeProjects/swiftsci/Build/Products/Release/include -Xcc -I/Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/DerivedSources/x86_64 -Xcc -I/Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/DerivedSources -Xcc -working-directory/Users/kaiyin/appcodeProjects/swiftsci -emit-module-doc-path /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/sci~partial.swiftdoc -O -module-name swiftsci -emit-module-path /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/sci~partial.swiftmodule -serialize-diagnostics-path /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/sci.dia -emit-dependencies-path /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/sci.d -emit-reference-dependencies-path /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/sci.swiftdeps -o /Users/kaiyin/appcodeProjects/swiftsci/Build/Intermediates/swiftsci.build/Release/swiftsci.build/Objects-normal/x86_64/sci.o
Note:1. While running SILModuleTransform "Closure Specialization".
關於發生了什么的任何想法?
let funcMap = [
"sci": {
(s: String) throws -> String in try s.sci()
},
"ibook": {
(s: String) throws -> String in try s.ibook()
}
]
我不確定為什么這樣做不行,但是我嘗試了一下:
func fSci(s: String) throws -> String {
return try s.sci()
}
func fIbook(s: String) throws -> String {
return try s.ibook()
}
let funcMap = [ "sci": fSci, "ibook": fIbook ]
而且我仍然遇到相同的錯誤。 奇怪。
由於分段錯誤,編譯器崩潰。 這意味着在這種情況下,編譯器已損壞。 您應該通過swift.org錯誤跟蹤程序將錯誤報告給Apple。 確切地說,這不是Swift問題,而是工具鏈中的錯誤。
錯誤消息表明問題是由於某個地方的關閉而引起的,但他們沒有說明是哪一個。 錯誤消息中實際上沒有任何內容指向您正在查看的閉包,而不是其他閉包(如果您查看最后一行,則會看到項目中的每個Swift文件都已列出)。 閉包在語法上是有效的(否則,編譯器會更早地抱怨而不是崩潰),但是有關它的事情正在使編譯器嚴重脫離軌道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.