Bug#527537: Broken library search paths
Package: gcc-4.4
Version: 4.4.0-1~exp2
Severity: normal
Hi,
thanks for adding more multiarch support to gcc. But the support
doesn't seem to be quite correct yet. I've looked at the library path
and canonicalized the entries for better readability:
# Broken path. Missing a '/'?
* Duplicate entry after canonicalize
! Path for the wrong target
------[ gcc-4.4 --print-search-dirs ]---------------------------------
/usr/lib/gcc/x86_64-linux-gnu/4.4.0/
* /usr/lib/gcc/x86_64-linux-gnu/4.4.0/
/usr/x86_64-linux-gnu/lib/x86_64-linux-gnu/4.4.0/
/usr/x86_64-linux-gnu/lib/
/usr/lib/x86_64-linux-gnu/4.4.0/
/usr/lib/
/lib/x86_64-linux-gnu/4.4.0/
/lib/
* /usr/lib/x86_64-linux-gnu/4.4.0/
* /usr/lib/
# /usr/lib/x86_64-linux-gnux86_64-linux-gnu/4.4.0/
# /usr/lib/x86_64-linux-gnu../lib/
* /usr/x86_64-linux-gnu/lib/
* /usr/lib/
* /lib/
* /usr/lib/
/usr/lib/x86_64-linux-gnu
"/lib/x86_64-linux-gnu" is missing. "/lib64", "/usr/lib64" could also
be considered missing, they would be needed when running Debian gcc on
SuSe/RH for example.
----------------------------------------------------------------------
------[ gcc-4.4 -m32 --print-search-dirs ]----------------------------
/usr/lib/gcc/x86_64-linux-gnu/4.4.0/32/
* /usr/lib/gcc/x86_64-linux-gnu/4.4.0/32/
/usr/x86_64-linux-gnu/lib/x86_64-linux-gnu/4.4.0/32/
/usr/x86_64-linux-gnu/lib32/
/usr/lib/x86_64-linux-gnu/4.4.0/32/
/usr/lib32/
/lib/x86_64-linux-gnu/4.4.0/32/
/lib32/
* /usr/lib/x86_64-linux-gnu/4.4.0/32/
* /usr/lib32/
# /usr/lib/i486-linux-gnux86_64-linux-gnu/4.4.0/32/
# /usr/lib/i486-linux-gnu../lib32/
/usr/lib/gcc/x86_64-linux-gnu/4.4.0/
* /usr/lib/gcc/x86_64-linux-gnu/4.4.0/
! /usr/x86_64-linux-gnu/lib/x86_64-linux-gnu/4.4.0/
! /usr/x86_64-linux-gnu/lib/
! /usr/lib/x86_64-linux-gnu/4.4.0/
/usr/lib/
! /lib/x86_64-linux-gnu/4.4.0/
/lib/
! /usr/lib/x86_64-linux-gnu/4.4.0/
* /usr/lib/
# /usr/lib/i486-linux-gnux86_64-linux-gnu/4.4.0/
/usr/lib/i486-linux-gnu
"/lib/i486-linux-gnu" is missing.
----------------------------------------------------------------------
And for a horrendiously broken example:
------[ gcc-4.4 -uclibc --print-search-dirs ]-------------------------
/usr/lib/gcc/x86_64-linux-gnu/4.4.0/
/usr/lib/gcc/x86_64-linux-gnu/4.4.0/
/usr/x86_64-linux-gnu/lib/x86_64-linux-gnu/4.4.0/
/usr/x86_64-linux-gnu/lib/
/usr/lib/x86_64-linux-gnu/4.4.0/
/usr/lib/
/lib/x86_64-linux-gnu/4.4.0/
/lib/
/usr/lib/x86_64-linux-gnu/4.4.0/
/usr/lib/
/usr/lib/x86_64-linux-gnux86_64-linux-gnu/4.4.0/
/usr/lib/x86_64-linux-gnu../lib/
/usr/x86_64-linux-gnu/lib/
/usr/lib/
/lib/
/usr/lib/
/usr/lib/x86_64-linux-gnu
This is all wrong. I think the -uclibc option should be completly
disabled in the default specs file. It even links against the wrong C
library:
% gcc-4.4 -uclibc -o foo foo.c
% ldd foo
libc.so.6 => /lib/libc.so.6 (0x00002b2710aaa000)
/lib64/ld-linux-x86-64.so.2 (0x00002b271088c000)
Seems 100% broken.
----------------------------------------------------------------------
MfG
Goswin
PS: I haven't checked the include paths. I hope you didn't break them
with the new multiarch patch.
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable-i386
APT policy: (500, 'unstable-i386'), (500, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.22.2-mrvn
Locale: LANG=C, LC_CTYPE=de_DE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash
Versions of packages gcc-4.4 depends on:
ii binutils 2.19.1-1 The GNU assembler, linker and bina
ii cpp-4.4 4.4.0-1~exp2 The GNU C preprocessor
ii gcc-4.4-base 4.4.0-1~exp2 The GNU Compiler Collection (base
ii libc6 2.9-3 GNU C Library: Shared libraries
ii libgcc1 1:4.4.0-1~exp2 GCC support library
ii libgomp1 4.4.0-1~exp2 GCC OpenMP (GOMP) support library
Versions of packages gcc-4.4 recommends:
ii libc6-dev 2.9-3 GNU C Library: Development Librari
Versions of packages gcc-4.4 suggests:
pn gcc-4.4-doc <none> (no description available)
pn gcc-4.4-locales <none> (no description available)
pn gcc-4.4-multilib <none> (no description available)
pn libgcc1-dbg <none> (no description available)
pn libgomp1-dbg <none> (no description available)
pn libmudflap0-4.4-dev <none> (no description available)
pn libmudflap0-dbg <none> (no description available)
-- no debconf information
Reply to: