[ CCing aurel32, doko and vorlon ] Hi, I was also caught by #635685 when trying to build gcc-4.7 snapshot ("gnu/stubs-32.h" not found due to double "gnu/stubs.h" in /usr/include and /usr/include/i386-linux-gnu). After a bit of dealing with the libc6-dev problem, I was able to build gcc-4.7. [0] Filelist of installed libc6-dev package $ dpkg --listfiles libc6-dev | sort > libc6-dev_filelist.txt This shows doubled bits/ include files. [1] Symlinking bits/ gnu/ sys/ include-dirs Problem here was that these include-dirs were not removed on upgrade to -13 (see excerpt from eglibc-213_debian_11-VS-12.diff below), which is not ideal as some programs seem to look in the "old" locations. A better solution would be to symlink: # l /usr/include/bits /usr/include/gnu /usr/include/sys lrwxrwxrwx 1 root root 19 31. Jul 13:14 /usr/include/bits -> i386-linux-gnu/bits lrwxrwxrwx 1 root root 18 31. Jul 13:13 /usr/include/gnu -> i386-linux-gnu/gnu lrwxrwxrwx 1 root root 18 31. Jul 13:19 /usr/include/sys -> i386-linux-gnu/sys Next problem was that some -dev packages had files in /usr/include/sys which were not in /usr/include/i386-linux-gnu/sys. So, I reinstalled them (see attached files: sys-1.txt sys-2.txt sys.diff). # apt-get install --reinstall libacl1-dev libasound2-dev libcap-dev [ Excerpt diffs/eglibc-213_debian_11-VS-12.diff] diff -uprN eglibc-2.13-11/debian/debhelper.in/libc-dev-alt.preinst eglibc-2.13-12/debian/debhelper.in/libc-dev-alt.preinst --- eglibc-2.13-11/debian/debhelper.in/libc-dev-alt.preinst 1970-01-01 01:00:00.000000000 +0100 +++ eglibc-2.13-12/debian/debhelper.in/libc-dev-alt.preinst 2011-07-31 11:57:30.000000000 +0200 @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +case $1 in + (upgrade|install) + # We want /usr/include/bits and /usr/include/gnu to become + # symlinks + if test -d /usr/include/bits ; then + rm -rf /usr/include/bits + fi + if test -d /usr/include/gnu ; then + rm -rf /usr/include/gnu + fi + + # We want /usr/include/sys to be a normal directory instead + # of a symlink + if test -h /usr/include/sys ; then + rm -f /usr/include/sys + fi + ;; + (*) + ;; +esac [2] Keep i486-linux-gnu for compatibility reasons? I compiled my gcc-4.7 with host/buil/target type "i486-linux-gnu" (see build-script). i486-linux-gnu dynamic linker run-time bindings with multiarch-support is configured via: # cat /etc/ld.so.conf.d/i486-linux-gnu.conf # Multiarch support /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /lib/i486-linux-gnu /usr/lib/i486-linux-gnu Following this I created some symlinks for compatibility reasons: # l /lib/i486-linux-gnu lrwxrwxrwx 1 root root 14 31. Jul 14:42 /lib/i486-linux-gnu -> i386-linux-gnu # l /usr/lib/i486-linux-gnu lrwxrwxrwx 1 root root 14 31. Jul 14:13 /usr/lib/i486-linux-gnu -> i386-linux-gnu I am not sure what is with /usr/lib/i586 /usr/lib/i686 - shouldn't that stuff move below /usr/lib/i386-linux-gnu/? [3] Error-message: crt*.o files not found My build broke next when "crti.o" was not found, after this "crtn.o" etc. To catch them, I created again some symlinks: # l /usr/lib/crt*.o lrwxrwxrwx 1 root root 21 31. Jul 14:16 /usr/lib/crt1.o -> i386-linux-gnu/crt1.o lrwxrwxrwx 1 root root 21 31. Jul 14:14 /usr/lib/crti.o -> i386-linux-gnu/crti.o lrwxrwxrwx 1 root root 21 31. Jul 14:14 /usr/lib/crtn.o -> i386-linux-gnu/crtn.o [ Conclusion ] With these modifications I was able to successfully build a gcc-4.7 snapshot. First testcase was to build mesa-from-git, which worked. Steve (vorlon) was telling me on #multiarch about a "compatibility package" which was not finished yet. Hope this helps to narrow down the problem. - Sedat - P.S.: gcc-4.7 file location and -v output # which gcc-4.7 /usr/bin/gcc-4.7 # l /usr/bin/gcc-4.7 lrwxrwxrwx 1 root root 24 31. Jul 14:28 /usr/bin/gcc-4.7 -> /opt/gcc-4.7/bin/gcc-4.7 # gcc-4.7 -v Using built-in specs. COLLECT_GCC=gcc-4.7 COLLECT_LTO_WRAPPER=/opt/gcc-4.7/lib/gcc/i486-linux-gnu/4.7.0/lto-wrapper Target: i486-linux-gnu Configured with: ../gcc-4.7-20110730/configure --prefix=/opt/gcc-4.7 --libdir=/opt/gcc-4.7/lib --libexecdir=/opt/gcc-4.7/lib --program-suffix=-4.7 --enable-clocale=gnu --enable-languages=c,c++ --enable-shared --enable-threads=posix --disable-bootstrap --disable-libssp --disable-multilib --disable-nls --with-system-zlib --without-cloog --without-ppl --with-arch-32=i586 --with-tune=generic --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.7.0 20110730 (experimental) (GCC)
Attachment:
debbug-636116_from-dileks.tar.xz
Description: Binary data
Attachment:
debbug-636116_from-dileks.tar.xz.sha256sum
Description: Binary data