Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 48758

Summary: aiksaurus fails to link with gcc 3.4, linktool somehow messes up
Product: Gentoo Linux Reporter: Mikko Tiihonen <mikko.tiihonen>
Component: Current packagesAssignee: Please assign to toolchain <gcc-porting>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 54837    
Bug Blocks: 48528    
Attachments: Full log when compiled with empty CFLAGS and CXXFLAGS

Description Mikko Tiihonen 2004-04-22 22:30:31 UTC
/bin/sh ../libtool --mode=link g++  -march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb --param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000 --param max-pending-list-length=100 --param max-gcse-passes=4 --param max-gcse-memory=104857600 --param max-crossjump-edges=400   -o libAiksaurus.la -rpath /usr/lib -no-undefined -release 1.0 -version-info 0:1:0 -export-dynamic Aiksaurus.lo AiksaurusException.lo AsciiCompare.lo MeaningsFile.lo WordsFile.lo AiksaurusC.lo  
g++ -shared /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/crtbeginS.o  .libs/Aiksaurus.o .libs/AiksaurusException.o .libs/AsciiCompare.o .libs/MeaningsFile.o .libs/WordsFile.o .libs/AiksaurusC.o  -L/usr/x86_64-pc-linux-gnu/lib -L/usr/x86_64-pc-linux-gnu/bin -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../lib64/crtn.o  -march=k8 -o .libs/libAiksaurus-1.0.so.0.0.1
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../lib64/crti.o(.init+0x0): In function `_init':
/mnt/2/portage-tmp/portage/glibc-2.3.3_pre20040207/work/glibc-2.3.2/buildhere/csu/crti.S:11: multiple definition of `_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../lib64/crti.o(.init+0x0):/mnt/2/portage-tmp/portage/glibc-2.3.3_pre20040207/work/glibc-2.3.2/buildhere/csu/crti.S:11: first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../lib64/crti.o(.fini+0x0): In function `_fini':
: multiple definition of `_fini'
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/../../../../lib64/crti.o(.fini+0x0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/crtbeginS.o(.data.rel+0x0): multiple definition of `__dso_handle'
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/crtbeginS.o(.data.rel+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [libAiksaurus.la] Error 1


Reproducible: Always
Steps to Reproduce:




Portage 2.0.50-r6 (default-amd64-2004.0, gcc-3.4.0, glibc-2.3.3_pre20040207-r0,
2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 x86_64 4
Gentoo Base System version 1.4.9
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb
--param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000
--param max-pending-list-length=100 --param max-gcse-passes=4 --param
max-gcse-memory=104857600 --param max-crossjump-edges=400"
CHOST="x86_64-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb
--param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000
--param max-pending-list-length=100 --param max-gcse-passes=4 --param
max-gcse-memory=104857600 --param max-crossjump-edges=400"
DISTDIR="/mnt/2/portage-ebuilds/distfiles"
FEATURES="autoaddcvs ccache sandbox userpriv usersandbox"
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/
ftp://trumpetti.atm.tut.fi/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/mnt/2/portage-ebuilds/packages"
PORTAGE_TMPDIR="/mnt/2/portage-tmp"
PORTDIR="/mnt/2/portage-ebuilds"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.se.gentoo.org/gentoo-portage"
USE="X alsa amd64 apm avi berkdb crypt doc encode ethereal foomaticdb freetype
gdbm gif gnome gpm gtk gtk2 imlib jpeg libg++ libwww mikmod mozilla moznoirc
mozsvg mpeg mysql ncurses nls nogcj nptl oggvorbis opengl oss pam pdflib perl
png postgres python quicktime readline ruby ruby18 sdl slang spell ssl tcpd
tetex truetype xml2 xmms xv zlib"
Comment 1 Mikko Tiihonen 2004-04-22 22:34:03 UTC
The linking is successfull when I change the "g++" to "gcc" on the libtool line:
/bin/sh ../libtool --mode=link gcc -march=.....

I do not know if the problem is in libtool that cannot handle g++ correctly or does the configure script just mess up the Makefiles.
Comment 2 Eric Brown 2004-04-23 13:39:24 UTC
mine didn't have any problems emerging.. maybe it's your CFLAGS?
Comment 3 Mikko Tiihonen 2004-04-25 23:01:05 UTC
I tried emerging with both CFLAGS and CXXFLAGS empty, but the error message is exactly the same. Also re-emerging linktool did not help.

This is how far I got when I started emerge --emptytree world with gcc 3.4 so I do not think that the compiler is the problem either.

It could be that the libtool that aiksaurus uses (1.5a) just doesn't handle x86_64 linking correctly.
Comment 4 Mikko Tiihonen 2004-04-25 23:04:43 UTC
Created attachment 30058 [details]
Full log when compiled with empty CFLAGS and CXXFLAGS
Comment 5 Seemant Kulleen (RETIRED) gentoo-dev 2004-07-17 10:25:13 UTC
aiksaurus-1.2.1 should fix this as well.