[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: