ClickHouse / ClickHouse/sysroot
unable to find library -lc++, -lgcc_s
- Lenguaje dominante
- C
- Estrellas
- 41
- Forks
- 24
- Merge medio
- 2 d 2 h
- PR fusionados (30 d)
- 1
Descripción
I think i could do something wrong but i wasn't familiar with cross building with clang before. What i did is downloaded this toolchain and libc++. I did not use compiler-rt and libunwind as i do not understand this. Then i executed following command:
```
clang++ hello.cpp --target=x86_64-v3-linux -isystem stdlib/include --sysroot=C:\cclang\sysroot\linux-x86_64 -s
tdlib=libc++ -fuse-ld="C:\cclang\clang\LLVM\bin\ld.lld" -v
```
and got the output:
```
clang version 17.0.5
Target: x86_64-v3-linux
Thread model: posix
InstalledDir: C:\cclang\clang\LLVM\bin
Found candidate GCC installation: C:\cclang\sysroot\linux-x86_64/lib/gcc/x86_64-linux-gnu\9
Selected GCC installation: C:\cclang\sysroot\linux-x86_64/lib/gcc/x86_64-linux-gnu/9
Candidate multilib: .;@m64
Selected multilib: .;@m64
"C:\\cclang\\clang\\LLVM\\bin\\clang++.exe" -cc1 -triple x86_64-v3-linux -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name hello.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -v "-fcoverage-compilation-dir=C:\\cclang" -resource-dir "C:\\cclang\\clang\\LLVM\\lib\\clang\\17" -isystem stdlib/include -isysroot "C:\\cclang\\sysroot\\linux-x86_64" -internal-isystem "C:\\cclang\\clang\\LLVM\\lib\\clang\\17\\include" -internal-isystem "C:\\cclang\\sysroot\\linux-x86_64/usr/local/include" -internal-isystem "C:\\cclang\\sysroot\\linux-x86_64/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -internal-externc-isystem "C:\\cclang\\sysroot\\linux-x86_64/usr/include/x86_64-linux-gnu" -internal-externc-isystem "C:\\cclang\\sysroot\\linux-x86_64/include" -internal-externc-isystem "C:\\cclang\\sysroot\\linux-x86_64/usr/include" -fdeprecated-macro "-fdebug-compilation-dir=C:\\cclang" -ferror-limit 19 -fmessage-length=120 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o "C:\\Users\\Admin\\AppData\\Local\\Temp\\hello-f3784d.o" -x c++ hello.cpp
clang -cc1 version 17.0.5 based upon LLVM 17.0.5 default target x86_64-pc-windows-msvc
ignoring nonexistent directory "C:\cclang\sysroot\linux-x86_64/usr/local/include"
ignoring nonexistent directory "C:\cclang\sysroot\linux-x86_64/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "C:\cclang\sysroot\linux-x86_64/include"
#include "..." search starts here:
#include <...> search starts here:
stdlib/include
C:\cclang\clang\LLVM\lib\clang\17\include
C:\cclang\sysroot\linux-x86_64/usr/include/x86_64-linux-gnu
C:\cclang\sysroot\linux-x86_64/usr/include
End of search list.
"C:\\cclang\\clang\\LLVM\\bin\\ld.lld" "--sysroot=C:\\cclang\\sysroot\\linux-x86_64" -pie --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out "C:\\cclang\\sysroot\\linux-x86_64/lib/gcc/x86_64-linux-gnu/9/../../../../lib64\\Scrt1.o" "C:\\cclang\\sysroot\\linux-x86_64/usr/lib/../lib64\\crti.o" "C:\\cclang\\sysroot\\linux-x86_64/lib/gcc/x86_64-linux-gnu/9\\crtbeginS.o" "-LC:\\cclang\\sysroot\\linux-x86_64/lib/gcc/x86_64-linux-gnu/9" "-LC:\\cclang\\sysroot\\linux-x86_64/lib/gcc/x86_64-linux-gnu/9/../../../../lib64" "-LC:\\cclang\\sysroot\\linux-x86_64/lib/../lib64" "-LC:\\cclang\\sysroot\\linux-x86_64/usr/lib/../lib64" "-LC:\\cclang\\sysroot\\linux-x86_64/lib" "-LC:\\cclang\\sysroot\\linux-x86_64/usr/lib" "C:\\Users\\Admin\\AppData\\Local\\Temp\\hello-f3784d.o" -lc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc "C:\\cclang\\sysroot\\linux-x86_64/lib/gcc/x86_64-linux-gnu/9\\crtendS.o" "C:\\cclang\\sysroot\\linux-x86_64/usr/lib/../lib64\\crtn.o"
ld.lld: error: unable to find library -lc++
ld.lld: error: unable to find library -lgcc_s
ld.lld: error: unable to find library -lgcc_s
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
These libraries are seems removed out but the compiler still want link agains them.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con el comando clang++ indicado y su invocación detallada de ld.lld, comprobando cómo se resuelven el sysroot especificado y las rutas de búsqueda de bibliotecas. Compara las ubicaciones esperadas de libc++ y libgcc_s con las rutas mostradas en el comando; se considera terminado cuando la compilación cruzada de hello.cpp se enlaza correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- build-system, compilers
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100