Hi,
Whenever I add the no-assertions
flag to my Swift compiler build I get the following linking error for LLDB when building a toolchain:
Ld /Users/eaplatanios/Development/GitHub/swift-source-temp/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2019-07-16-a.xctoolchain/usr/bin/lldb normal x86_64
cd /Users/eaplatanios/Development/GitHub/swift-source-temp/lldb
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -target x86_64-apple-macos10.13 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -L/Users/eaplatanios/Development/GitHub/swift-source-temp/build/buildbot_osx/lldb-macosx-x86_64/CustomSwift-Release -F/Users/eaplatanios/Development/GitHub/swift-source-temp/build/buildbot_osx/lldb-macosx-x86_64/CustomSwift-Release -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/PrivateFrameworks -filelist /Users/eaplatanios/Development/GitHub/swift-source-temp/build/buildbot_osx/lldb-macosx-x86_64/lldb.build/CustomSwift-Release/lldb-tool.build/Objects-normal/x86_64/lldb.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/eaplatanios/Development/GitHub/swift-source-temp/build/buildbot_osx/lldb-macosx-x86_64/lldb.build/CustomSwift-Release/lldb-tool.build/Objects-normal/x86_64/lldb_lto.o -Xlinker -final_output -Xlinker /Library/Developer/Toolchains/swift-tensorflow-LOCAL-2019-07-16-a.xctoolchain/usr/bin/lldb -stdlib=libc++ -lcompression -lcompression -L/Users/eaplatanios/Development/GitHub/swift-source-temp/build/buildbot_osx/swift-macosx-x86_64/lib/swift/macosx -Wl,-rpath,@executable_path/../lib/swift/macosx -Wl,-rpath,@loader_path/../../../../../../usr/lib/swift/macosx -ltensorflow -sectcreate __TEXT __info_plist /Users/eaplatanios/Development/GitHub/swift-source-temp/lldb/tools/driver/lldb-Info.plist -Wl,-rpath,@loader_path -Wl,-rpath,@loader_path/../../System/Library/PrivateFrameworks -L/Users/eaplatanios/Development/GitHub/swift-source-temp/build/buildbot_osx/llvm-macosx-x86_64/lib -lLLVMOption -lLLVMSupport -lLLVMDemangle -ltermcap -framework LLDB -lz -Xlinker -dependency_info -Xlinker /Users/eaplatanios/Development/GitHub/swift-source-temp/build/buildbot_osx/lldb-macosx-x86_64/lldb.build/CustomSwift-Release/lldb-tool.build/Objects-normal/x86_64/lldb_dependency_info.dat -o /Users/eaplatanios/Development/GitHub/swift-source-temp/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2019-07-16-a.xctoolchain/usr/bin/lldb
Undefined symbols for architecture x86_64:
"typeinfo for llvm::format_object_base", referenced from:
typeinfo for llvm::format_object<int, void const*, unsigned long long, int> in Driver.o
typeinfo for llvm::format_object<int, int> in Driver.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** INSTALL FAILED **
The following build commands failed:
Ld /Users/eaplatanios/Development/GitHub/swift-source-temp/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2019-07-16-a.xctoolchain/usr/bin/lldb normal x86_64
(1 failure)
./utils/build-script: fatal error: command terminated with a non-zero exit status 65, aborting
./utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting
I am compiling from the tensorflow
branch and all I am changing from a build that works if line 2117 of build-presets.ini
from mixin-preset=mixin_lightweight_assertions
to no-assertions
. Why does no-assertions
cause errors when linking LLDB?
Thanks,
Anthony
EDIT: This can be reproduced shown in this commit.