--- Begin Message ---
Package: gcc, ia32-libs
Version: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
I am getting the oft-reported "skipping incompatible /usr/bin/../lib/
libc.a when searching for -lc" problem when trying to compile 32 bit
binaries on a 64-bit machine. However, I have tried all of the usual
fixes and none of them work. In particular, gcc seems to be ignoring
my -L flag:
[ron@monster1:~]$ dpkg -l gcc
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-
installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name Version Description
+++-==============-==============-
============================================
ii gcc 4.1.1-15 The GNU C compiler
[ron@monster1:~]$ dpkg -l ia32-libs
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-
installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name Version Description
+++-==============-==============-
============================================
ii ia32-libs 1.19 ia32 shared libraries for use on
amd64 and i
[ron@monster1:~]$ cat test.c
#include <stdio.h>
main () { printf("%d\n", sizeof(void*)); }
[ron@monster1:~]$ gcc -m32 -L/usr/lib32 test.c
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libc.so when
searching for -lc
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libc.a when
searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for
-lc
/usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -
lc
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
--- End Message ---
--- Begin Message ---
On Fri, Sep 12, 2008 at 02:58:28PM -0700, Ron Garret wrote:
> Package: gcc, ia32-libs
> Version: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
>
> I am getting the oft-reported "skipping incompatible /usr/bin/../lib/
> libc.a when searching for -lc" problem when trying to compile 32 bit
> binaries on a 64-bit machine. However, I have tried all of the usual
> fixes and none of them work. In particular, gcc seems to be ignoring my
> -L flag:
>
> [ron@monster1:~]$ dpkg -l gcc
> Desired=Unknown/Install/Remove/Purge/Hold
> | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-
> installed
> |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
> uppercase=bad)
> ||/ Name Version Description
> +++-==============-==============-
> ============================================
> ii gcc 4.1.1-15 The GNU C compiler
>
> [ron@monster1:~]$ dpkg -l ia32-libs
> Desired=Unknown/Install/Remove/Purge/Hold
> | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-
> installed
> |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
> uppercase=bad)
> ||/ Name Version Description
> +++-==============-==============-
> ============================================
> ii ia32-libs 1.19 ia32 shared libraries for use on amd64
> and i
>
> [ron@monster1:~]$ cat test.c
> #include <stdio.h>
> main () { printf("%d\n", sizeof(void*)); }
>
> [ron@monster1:~]$ gcc -m32 -L/usr/lib32 test.c
> /usr/bin/ld: skipping incompatible /usr/bin/../lib/libc.so when
> searching for -lc
> /usr/bin/ld: skipping incompatible /usr/bin/../lib/libc.a when searching
> for -lc
> /usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for
> -lc
> /usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -
> lc
> /usr/bin/ld: cannot find -lc
> collect2: ld returned 1 exit status
You have to install gcc-4.3-multilib to get those libraries. No need to
use -L/usr/lib32.
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
--- End Message ---