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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Dean Michael Berris via llvm-dev
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
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

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

Dean Michael Berris via 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.

On Sun, May 6, 2018 at 4:05 AM via llvm-dev <[hidden email]> wrote:
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
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

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

Dean Michael Berris via 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


On Sun, 06 May 2018 20:49:39 +0000
Petr Hosek <[hidden email]> wrote:

> 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.
>
> On Sun, May 6, 2018 at 4:05 AM via llvm-dev <[hidden email]>
> wrote:
>
> > 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
> > [hidden email]
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> >  

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev