Bug 48758 - aiksaurus fails to link with gcc 3.4, linktool somehow messes up
|
Bug#:
48758
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: AMD64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: gcc-porting@gentoo.org
|
Reported By: mikko.tiihonen@iki.fi
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: aiksaurus fails to link with gcc 3.4, linktool somehow messes up
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2004-04-22 22:30 0000
|
/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"
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.
mine didn't have any problems emerging.. maybe it's your CFLAGS?
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.
aiksaurus-1.2.1 should fix this as well.