Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 145703 - cannot compile gcc 4.1.1 with multilib enabled
Summary: cannot compile gcc 4.1.1 with multilib enabled
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-31 05:14 UTC by Volker Schroer
Modified: 2006-09-02 03:23 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Volker Schroer 2006-08-31 05:14:54 UTC
emerge -u gcc dies with

configure:6215: checking for libintl.h
configure:6222: result: yes
configure:6237: checking for library containing gettext
configure:6245: error: Link tests are not allowed after GCC_NO_EXECUTABLES.

while running configure for 32 bit version of libstdc++-v3
=============================================================
Here is the start of the correspondig config.log

------------------------------------------------------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by package-unused configure version-unused, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ /var/tmp/portage/gcc-4.1.1/work/gcc-4.1.1/libstdc++-v3/configure --with-multisubdir=32 --with-multisrctop= --enable-multilib --cache-file
=./config.cache --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-lin
ux-gnu/gcc-bin/4.1.1 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1 --ma
ndir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1/info --with-gxx-include-dir=/u
sr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4 --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-ch
ecking --disable-werror --disable-libunwind-exceptions --enable-multilib --disable-libmudflap --disable-libssp --disable-libgcj --enable-shar
ed --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ --program-transform-name=s,y,y, --with-target-s
ubdir=x86_64-pc-linux-gnu --srcdir=/var/tmp/portage/gcc-4.1.1/work/gcc-4.1.1/libstdc++-v3 CPPFLAGS= build_alias=x86_64-pc-linux-gnu host_alia
s=x86_64-pc-linux-gnu target_alias=x86_64-pc-linux-gnu -srcdir=/var/tmp/portage/gcc-4.1.1/work/gcc-4.1.1/libstdc++-v3

----------------------------------------------------------------

result of emerge --info

Portage 2.1-r2 (default-linux/amd64/2006.1, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17-gentoo-r4smp x86_64)
=================================================================
System uname: 2.6.17-gentoo-r4smp x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Gentoo Base System version 1.12.4
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=k8"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=k8"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LC_ALL="de_DE@euro"
LINGUAS="de en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 alsa berkdb bitmap-fonts cli crypt cups dlloader dri gdbm gpm hal isdnlog kde libg++ lm_sensors ncurses nls nptl nptlonly pam pcre perl ppds pppd python qt3 readline reflection session spl ssl tcpd truetype-fonts type1-fonts udev unicode xorg zeroconf zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_de linguas_en userland_GNU video_cards_nv"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 SpanKY gentoo-dev 2006-08-31 13:28:41 UTC
do you have glibc installed properly ?
Comment 2 Volker Schroer 2006-09-01 01:27:00 UTC
(In reply to comment #1)
> do you have glibc installed properly ?
> 

emerge first builds gcc and then glibc. So at this moment only glibc-2.4-r3 (compiled with gcc 3.4.6 ) exists on my system.

The problem may result from the multilib use flag, as the configure fails for the 32 bit parts.
Comment 3 SpanKY gentoo-dev 2006-09-01 01:29:15 UTC
right, make sure doing something simple like this works:
echo 'int main(){}' > test.c
gcc -m32 test.c
file a.out

a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
Comment 4 Volker Schroer 2006-09-01 03:01:12 UTC
(In reply to comment #3)
> right, make sure doing something simple like this works:
> echo 'int main(){}' > test.c
> gcc -m32 test.c
> file a.out
> 
> a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux
> 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
> 
It compiles but it does not link. 
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/./libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/./libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgcc
collect2: ld gab 1 als Ende-Status zur
Comment 5 Volker Schroer 2006-09-01 03:01:12 UTC
(In reply to comment #3)
> right, make sure doing something simple like this works:
> echo 'int main(){}' > test.c
> gcc -m32 test.c
> file a.out
> 
> a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux
> 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
> 
It compiles but it does not link. 
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/./libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/./libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgcc
collect2: ld gab 1 als Ende-Status zurück

I come from a 'no multilib system'
Comment 6 SpanKY gentoo-dev 2006-09-01 15:10:49 UTC
i dont know the proper method then for upgrading from a non-multilib system to a multilib system
Comment 7 Simon Stelling (RETIRED) gentoo-dev 2006-09-02 03:23:17 UTC
There is none (supported), simple as that. You will have to stick with the no-multilib. You can try to copy over binpkgs of the toolchain packages from a multilib box to yours, but you're on your own there.