Russ Allbery <r...@stanford.edu> writes:

> Ian Lance Taylor <i...@google.com> writes:
>> Nenad Vukicevic <ne...@intrepid.com> writes:
>
>>> Has anybody tried to build 4.7 on Ubuntu 11.10 system. I am getting the
>>> following linking problem (no special configure switches):
>>>
>>> /usr/bin/ld: cannot find crt1.o: No such file or directory
>>> /usr/bin/ld: cannot find crti.o: No such file or directory
>>> /usr/bin/ld: cannot find -lgcc
>>> /usr/bin/ld: cannot find -lgcc_s
>>>
>>> Noramly they under /usr/lib64, but 11.10 has them under
>>> /usr/lib/x86_64-linux-gnu.
>
>> Yes.  Debian moved everything for some reason.
>
> The reason, for the record, is because Debian wants to be able to support
> multiarch with more than two architectures.  The /lib32 vs. /lib64
> distinction doesn't allow one to use the same underlying machinery to
> easily install, say, armel library and development packages because you're
> doing development in a cross-compiled environment.  The general
> /lib/<triplet> layout allows you to install packages from as many
> different architectures as you desire.

The GNU tools have handled cross-compilation for decades, so I don't
find this answer convincing as stated.  Nothing needed to change to make
cross-compilation work.

The lib64 directory does not exist for cross-compilation.  It exists
because the kernel supports two different native ABIs.

I strongly support the idea of a compatibility symlink so that older gcc
releases will continue to work.

Ian

Reply via email to