Hi, About centos7.1 source compiler error '_swift_stdlib_unicode_strToLower'

Hello,I compiled swift-3.0-branch error in centos7 source,The following error message.

···

-----------------------------------------------------------------------------------------------------

[552/583] : && /usr/bin/clang++ -fPIC -fno-stack-protector -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wcovered-switch-default -Wdelete-non-virtual-dtor -std=c++11 -fcolor-diagnostics -fdata-sections -Wdocumentation -Wimplicit-fallthrough -Woverloaded-virtual -O3 -target x86_64-unknown-linux-gnu -lpthread -ldl -fuse-ld=gold -L/usr/local/src/build/Ninja-ReleaseAssert/swift-linux-x86_64/./lib/swift/linux/x86_64 -L/usr/local/src/build/Ninja-ReleaseAssert/swift-linux-x86_64/./bin/../lib/swift/linux/x86_64 -L/usr/local/src/build/Ninja-ReleaseAssert/swift-linux-x86_64/./bin/../lib/swift/linux -shared -Wl,-soname,libswiftCore.so -o lib/swift/linux/x86_64/libswiftCore.so lib/swift/linux/x86_64/swift_begin.o stdlib/public/core/linux/x86_64/Swift.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/AnyHashableSupport.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Casting.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/CygwinPort.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Demangle.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Enum.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/ErrorObjectNative.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Errors.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Heap.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/HeapObject.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/KnownMetadata.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Metadata.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/MetadataLookup.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/MutexPThread.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/MutexWin32.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Once.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Portability.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/ProtocolConformance.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/ReflectionNative.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/RuntimeEntrySymbols.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/SwiftObjectNative.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/Assert.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/CommandLine.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/GlobalObjects.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/LibcShims.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/Stubs.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/8/UnicodeExtendedGraphemeClusters.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/UnicodeNormalization.cpp.o lib/swift/linux/x86_64/swift_end.o -L/usr/local/src/build/Ninja-ReleaseAssert/llvm-linux-x86_64/./lib -licuuc -licui18n -Wl,-rpath,"\$ORIGIN:/usr/lib/swift/linux" && :

FAILED: lib/swift/linux/x86_64/libswiftCore.so

: && /usr/bin/clang++ -fPIC -fno-stack-protector -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wcovered-switch-default -Wdelete-non-virtual-dtor -std=c++11 -fcolor-diagnostics -fdata-sections -Wdocumentation -Wimplicit-fallthrough -Woverloaded-virtual -O3 -target x86_64-unknown-linux-gnu -lpthread -ldl -fuse-ld=gold -L/usr/local/src/build/Ninja-ReleaseAssert/swift-linux-x86_64/./lib/swift/linux/x86_64 -L/usr/local/src/build/Ninja-ReleaseAssert/swift-linux-x86_64/./bin/../lib/swift/linux/x86_64 -L/usr/local/src/build/Ninja-ReleaseAssert/swift-linux-x86_64/./bin/../lib/swift/linux -shared -Wl,-soname,libswiftCore.so -o lib/swift/linux/x86_64/libswiftCore.so lib/swift/linux/x86_64/swift_begin.o stdlib/public/core/linux/x86_64/Swift.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/AnyHashableSupport.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Casting.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/CygwinPort.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Demangle.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Enum.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/ErrorObjectNative.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Errors.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Heap.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/HeapObject.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/KnownMetadata.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Metadata.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/MetadataLookup.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/MutexPThread.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/MutexWin32.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Once.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/Portability.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/ProtocolConformance.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/ReflectionNative.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/RuntimeEntrySymbols.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-linux-x86_64.dir/SwiftObjectNative.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/Assert.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/CommandLine.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/GlobalObjects.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/LibcShims.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/Stubs.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/8/UnicodeExtendedGraphemeClusters.cpp.o stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-linux-x86_64.dir/UnicodeNormalization.cpp.o lib/swift/linux/x86_64/swift_end.o -L/usr/local/src/build/Ninja-ReleaseAssert/llvm-linux-x86_64/./lib -licuuc -licui18n -Wl,-rpath,"\$ORIGIN:/usr/lib/swift/linux" && :

/usr/bin/ld: stdlib/public/core/linux/x86_64/Swift.o: relocation R_X86_64_PC32 against protected symbol `_swift_stdlib_unicode_strToLower' can not be used when making a shared object

/usr/bin/ld: final link failed: Wrong value

clang: error: linker command failed with exit code 1 (use -v to see invocation)

ninja: build stopped: subcommand failed.

./swift/utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting

-----------------------------------------------------------------------------------------------------

How to solve this error?
Thank you.

Hi,

To fix this issue, please install the 'gold' linker.

Dmitri

···

On Wed, Aug 10, 2016 at 5:27 PM, SonWa via swift-users <swift-users@swift.org> wrote:

/usr/bin/ld: stdlib/public/core/linux/x86_64/Swift.o: relocation
R_X86_64_PC32 against protected symbol `_swift_stdlib_unicode_strToLower'
can not be used when making a shared object

/usr/bin/ld: final link failed: Wrong value

--
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr@gmail.com>*/