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