Bug#651301: clang debian detection is broken - clang fails to link executables - missing path to crt?.o files
rgareus
robin at gareus.org
Wed Dec 7 14:32:26 UTC 2011
Package: clang
Version: 2.9-16
Severity: important
in short: changing /etc/debian_version from '6.0.3' to 'wheezy/sid'
works around the problem.
long story:
$clang -v -o test test.o
Debian clang version 2.9-16 (tags/RELEASE_29/final) (based on LLVM 2.9)
Target: i386-pc-linux-gnu
Thread model: posix
"/usr/bin/ld" --eh-frame-hdr -m elf_i386 -dynamic-linker
/lib/ld-linux.so.2 -o test crt1.o crti.o
/usr/lib/gcc/i486-linux-gnu/4.6.1/crtbegin.o
-L/usr/lib/gcc/i486-linux-gnu/4.6.1
-L/usr/lib/gcc/i486-linux-gnu/4.6.1/../../.. test.o -lgcc --as-needed
-lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed
/usr/lib/gcc/i486-linux-gnu/4.6.1/crtend.o crtn.o
/usr/bin/ld: error: cannot open crt1.o: No such file or directory
/usr/bin/ld: error: cannot open crti.o: No such file or directory
/usr/bin/ld: error: cannot open crtn.o: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Problem: getToolChain().GetFilePath("crt1.o") etc in
clang-2.9/tools/clang/lib/Driver/ Tools.cpp, ToolChains.cpp
does return an empty path because '6.0.3' is not included in
ToolChain.cpp.
workaround: change /etc/debian_version to 'wheezy/sid' and the
problem dissapears.
Note that, 'squeeze/sid' does not work either. It results in an empty
path for crt?.o as well.
-- System Information:
Debian Release: 6.0.3
APT prefers stable
APT policy: (700, 'stable'), (500, 'testing'), (300, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages clang depends on:
ii libc6 2.13-21 Embedded GNU C Library: Shared lib
ii libffi5 3.0.9-3 Foreign Function Interface library
ii libgcc1 1:4.6.2-5 GCC support library
ii libllvm2.9 2.9+dfsg-4 Low-Level Virtual Machine (LLVM),
ii libstdc++6 4.6.2-5 GNU Standard C++ Library v3
ii libstdc++6-4.6-dev 4.6.2-5 GNU Standard C++ Library v3 (devel
Versions of packages clang recommends:
ii llvm-2.9-dev 2.9+dfsg-4 Low-Level Virtual Machine (LLVM),
ii python 2.6.6-3+squeeze6 interactive high-level object-orie
clang suggests no packages.
-- no debconf information
More information about the Pkg-llvm-team
mailing list