簡體   English   中英

Swift命令行工具以調試模式構建,但未發布

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM