[llvm-dev] Cannot compile LLVM suite with clang+lld

975 views
Skip to first unread message

via llvm-dev

unread,
May 6, 2018, 7:05:39 AM5/6/18
to llvm...@lists.llvm.org
I try to compile LLVM, clang, lld and libcxx together in one source
directory following the instructions on the website.
I'm running Arch Linux and already have LLVM, clang, lld and libcxx
installed (prebuilt against libstdc++). Now I want a "pure"
llvm toolchain.

The following options were used:
-DBOOTSTRAP_LLVM_ENABLE_LLD
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_LINKER=lld
-DCMAKE_LINK_EXECUTABLE="/usr/bin/ld.lld"
-DCMAKE_AR="/usr/bin/llvm-ar"
-DCMAKE_AS="/usr/bin/llvm-as"
-DCLANG_DEFAULT_LINKER=lld
-DCLANG_DEFAULT_RTLIB=compiler-rt
-DCLANG_ENABLE_BOOTSTRAP=ON
-DLIBCXX_USE_COMPILER_RT=ON
-DLIBCXXABI_USE_COMPILER_RT=ON
-DLLVM_ENABLE_LLD=ON
-DLLVM_ENABLE_LIBCXX=ON

However, the build fails with (many of those error messages):

[1274/2712] Linking CXX shared library lib/libc++abi.so.1.0
FAILED: lib/libc++abi.so.1.
/usr/bin/ld.lld: error: undefined symbol: _Unwind_Resume
>>> referenced by ld-temp.o
>>> lto.tmp:(__cxa_demangle)

Can anyone please tell me what I am doing wrong and how I can fix the
build?

Regards
Andreas
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Petr Hosek via llvm-dev

unread,
May 6, 2018, 4:50:01 PM5/6/18
to a.ilc...@gmx-topmail.de, llvm-dev
You also need -DLIBUNWIND_USE_COMPILER_RT=ON -DLIBCXXABI_USE_LLVM_UNWINDER=ON. This is because you set -DLIBCXXABI_USE_COMPILER_RT=ON so libc++abi.so is no longer being linked agains libgcc_s.so which is where the unwinder otherwise comes from.

A. Ilchinger via llvm-dev

unread,
May 7, 2018, 12:10:38 PM5/7/18
to llvm-dev
Thank you for your reply. After I added those options nothing changed
at first, then I added LLVM's libunwind to the source tree
(runtimes/libunwind) and it got much better.
However, I get the same errors at the end of the build process. Do I
need LLVM's libunwind already installed? I was hoping I could bootstrap
the whole toolchain directly.

Maybe this warning is also interesting?
[9/10] Linking CXX shared
library /tmp/makepkg/llvm/src/llvm-6.0.0.src/build/lib/libunwind.so.1.0
clang-6.0: warning: argument unused during compilation:
'-rtlib=compiler-rt' [-Wunused-command-line-argument]

This argument was added by -DLIBUNWIND_USE_COMPILER_RT=ON which you
explained, it's strange that it is unused.

The final error again is libcxxabi:
[2715/2724] Linking CXX shared library lib/libc++abi.so.1.0
FAILED: lib/libc++abi.so.1.0

Leslie Zhai via llvm-dev

unread,
Jan 22, 2019, 2:00:52 AM1/22/19
to tabloid...@gmail.com, LLVM Developers
Hi,

I experienced the similar issue
http://lists.llvm.org/pipermail/llvm-dev/2018-May/123079.html

When building LLVM toolchain with clang-9 + binutils/ld:

CMakeFiles/SecondLib.dir/PipSqueak.cpp.o: In function `SetStrings':
PipSqueak.cpp:(.text.SetStrings+0xc8): undefined reference to
`_Unwind_Resume'

----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< ---

Andreas said he got the *same* errors at the end of the build process
even added those options suggested by Petr.

And there was already a bug report several years ago
https://bugs.llvm.org/show_bug.cgi?id=28681

But why no response about Yuanfang's work? https://reviews.llvm.org/D53553

My cmake option mentioned here
http://lists.llvm.org/pipermail/llvm-dev/2019-January/129380.html

Regards,

Leslie Zhai

Reply all
Reply to author
Forward
0 new messages