[llvm-dev] [External] Re: How can I build LLVM with my gcc toolchain exactly

Kai Luo via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 22 21:02:21 PST 2021


You should check multilib support on your debian system. I don't think
gcc has `sys/cdefs.h` packaged.

On Tue, Nov 23, 2021 at 11:14 AM 刘可 via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Thanks for your reply! But it still does not work.
>
> Host environment:debian9    gcc6.3
> My toolchain: gcc8.3
>
> Command:
> CXX=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/g++ CC=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/gcc cmake -G Ninja -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb;openmp" -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" -DCMAKE_BUILD_TYPE=Release  -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DGCC_INSTALL_PREFIX=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830 -DCMAKE_CXX_LINK_FLAGS="-Wl,-rpath /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/lib64 -L/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/lib64 -Wl,-rpath /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64 -L/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64 -Wl,-dynamic-linker /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64/ld-linux-x86-64.so.2 -L/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64/ld-linux-x86-64.so.2" ../llvm
>
> Info:
> [99/302] Building C object CMakeFiles/clang_rt.builtins-i386.dir/floatsidf.c.o
> FAILED: CMakeFiles/clang_rt.builtins-i386.dir/floatsidf.c.o
> /home/liuke.gehry/llvm/llvm-project/build_13_release/./bin/clang --target=x86_64-unknown-linux-gnu -DVISIBILITY_HIDDEN  -O3 -DNDEBUG    -m32 -std=c11 -fPIC -fno-builtin -fvisibility=hidden -MD -MT CMakeFiles/clang_rt.builtins-i386.dir/floatsidf.c.o -MF CMakeFiles/clang_rt.builtins-i386.dir/floatsidf.c.o.d -o CMakeFiles/clang_rt.builtins-i386.dir/floatsidf.c.o   -c /home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/floatsidf.c
> In file included from /home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/floatsidf.c:16:
> In file included from /home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/fp_lib.h:23:
> In file included from /home/liuke.gehry/llvm/llvm-project/compiler-rt/lib/builtins/int_lib.h:93:
> In file included from /data00/home/liuke.gehry/llvm/llvm-project/build_13_release/lib/clang/13.0.1/include/limits.h:21:
> In file included from /usr/include/limits.h:25:
> /usr/include/features.h:364:12: fatal error: 'sys/cdefs.h' file not found
> #  include <sys/cdefs.h>
>            ^~~~~~~~~~~~~
> 1 error generated.
>
> It still includes system headers from "/usr/include".
> On Mon, Nov 22, 2021, 21:31 <nemanja.i.ibm at gmail.com> wrote:
> This is just a guess as you haven't included the full invocation or output of the failing command, but perhaps you need -DGCC_INSTALL_PREFIX=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830
>
> On Fri, Nov 19, 2021 at 8:38 PM 刘可 via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi, I'm from ByteDance.
>> I was confused when I built LLVM with gcc toolchain.
>>
>> ===================================================================
>> Here is my first command:
>>
>> CXX=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/g++ \
>> CC=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/gcc \
>> cmake -G Ninja \
>> -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb;openmp" \
>> -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
>> -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
>> -DCMAKE_BUILD_TYPE=Release  \
>> -DLLVM_BUILD_LLVM_DYLIB=ON \
>> -DLLVM_LINK_LLVM_DYLIB=ON \
>> -DCMAKE_CXX_FLAGS="-Wl,-rpath /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/lib64 -Wl,-rpath /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64 -Wl,-dynamic-linker /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64/ld-linux-x86-64.so.2 -I/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-494/sysroot/usr/include" \
>> ../llvm
>>
>> result:
>> /usr/include/features.h:364:12: fatal error: 'sys/cdefs.h' file not found.
>> ===================================================================
>>
>> ===================================================================
>> I tried to solve it by ’-I‘. But it failed.
>>
>> Here is my second command:
>>
>> CXX=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/g++ \
>> CC=/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/bin/gcc \
>> cmake -G Ninja -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb;openmp" \
>> -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
>> -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
>> -DCMAKE_BUILD_TYPE=Release  \
>> -DLLVM_BUILD_LLVM_DYLIB=ON \
>> -DLLVM_LINK_LLVM_DYLIB=ON \
>> -DCMAKE_CXX_FLAGS="-Wl,-rpath /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/lib64 -Wl,-rpath /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64 -Wl,-dynamic-linker /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/lib64/ld-linux-x86-64.so.2 -I/home/liuke.gehry/toolchain/x86_64-x86_64-gcc-494/sysroot/usr/include" \
>> ../llvm
>>
>> result:
>> /usr/include/features.h:364:12: fatal error: 'sys/cdefs.h' file not found.
>> $ ls /home/liuke.gehry/toolchain/x86_64-x86_64-gcc-830/sysroot/usr/include/sys/cdefs.h
>> toolchain/x86_64-x86_64-gcc-830/sysroot/usr/include/sys/cdefs.h
>>
>> 'sys/cdefs.h' exists in gcc toolchain,
>> ===================================================================
>> Looking forward to your reply. Thanks!
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list