https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104431

            Bug ID: 104431
           Summary: Provide better error message when GCC "multilib" is
                    missing
           Product: gcc
           Version: 8.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: eyalroz1 at gmx dot com
  Target Milestone: ---

I was recently trying to build GCC 8.5.0 on my Devuan Chimaera machine, which
has GCC 9 and 10 installed. When configuring, I was told:

/usr/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/10/libgcc.a
when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/10/libgcc.a
when searching for -lgcc
/usr/bin/ld: cannot find -lgcc

it is _quite_ difficult for the lay person to understand what the actual
problem here. I have GCC 10, I have ligcc for GCC 10 - what's wrong with it?
And what are Scrt1 and crti ? And why is configure checking for `.o` files
anyway?

Now, as explained in this StackOverflow answer: 

https://stackoverflow.com/a/16016792/1593077

this is easily resolved by installing the "gcc-multilib" Debian package, which
meant in practice installing:

gcc-10-multilib lib32asan6 lib32atomic1 lib32gcc-10-dev lib32gomp1 lib32itm1
lib32quadmath0 lib32ubsan1 libc6-dev-i386 libc6-dev-x32 libc6-x32 libx32asan6
libx32atomic1 libx32gcc-10-dev libx32gcc-s1 libx32gomp1 libx32itm1
libx32quadmath0 libx32stdc++6 libx32ubsan1

I don't need to be told about all of these, but some kind of message saying
"cross-platform build libraries missing" or "GCC multilib 32-bit libraries
missing" or whatever. It doesn't have to be distribution-specific, but it
_should_ tell me what I need to go look for.

Reply via email to