Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 63912 - gcc 3.4.2-r1 on ~ppc can't produce any emerge. ld is broken. example with groff 1.19.1 added
Summary: gcc 3.4.2-r1 on ~ppc can't produce any emerge. ld is broken. example with gro...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-13 11:15 UTC by Nicolas Vilz
Modified: 2004-12-07 06:36 UTC (History)
3 users (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 Nicolas Vilz 2004-09-13 11:15:41 UTC
i looked into the config.log and discovered that it was the linker which was broken. That happens not only with groff but with any other ebuild i try to emerge.. i try to merge gcc 3.4.1 with gcc 3.3.4 now.
--- excert of /var/tmp/groff-1.19.1/work/config.h ---
configure:2597: checking that C++ compiler can compile simple program
configure:2620: g++ -o conftest -O2 -pipe -mcpu=7400 -maltivec -mabi=altivec -fn
o-strict-aliasing   conftest.cc  >&5
/lib/libgcc_s.so: undefined reference to `__quoss'
/lib/libgcc_s.so: undefined reference to `__divss'
/lib/libgcc_s.so: undefined reference to `__mull'
/lib/libgcc_s.so: undefined reference to `__divus'
/lib/libgcc_s.so: undefined reference to `__quous'
collect2: ld returned 1 exit status
configure:2623: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|        /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| 
| 
| int main() {
|   return 0;
| }
| 
| 
| 
configure:2638: result: no
configure:2640: error: a working C++ compiler is required



Reproducible: Always
Steps to Reproduce:
1. emerge -u groff
2.
3.

Actual Results:  
ebuild failed with "need working gcc compiler"-message

Expected Results:  
should have merged groff

Portage 2.0.50-r11 (default-ppc-2004.1, gcc-3.4.2, glibc-2.3.4.20040808-r0,
2.6.7-gentoo-r14)
=================================================================
System uname: 2.6.7-gentoo-r14 ppc 7410, altivec supported
Gentoo Base System version 1.5.3
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="ppc ~ppc"
AUTOCLEAN="yes"
CFLAGS="-O2 -pipe -mcpu=7400 -maltivec -mabi=altivec -fno-strict-aliasing"
CHOST="powerpc-unknown-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config
/usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown
/usr/kde/3/share/config /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="-O2 -pipe -mcpu=7400 -maltivec -mabi=altivec -fno-strict-aliasing"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache cvs sandbox userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo
http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X aalib aim alsa altivec apache2 arts berkdb bidi bitmap-fonts bluetooth
bonobo cddb cdr cdrom clamav crypt cups curl dba directfb divx4linux dmx dvd
dvdread escreen esd etwin fbcon flash foomaticdb ftp gd gdbm gif gimpprint
gnome-libs gpm gtk gtk2 iconv icq imap imlib ipv6 ipv6arpa irda irmc jabber jack
jack-tmpfs jpeg kde ldap libwww maildir mitshm motif mozilla mpeg mpeg4 msn
mysql ncurses nethack nls odbc oggvorbis opengl oscar oss pam pda perl php png
pnp postgres ppc ppds psyco pthreads python qt quicktime radeon readline samba
sdl session sheep slang soap spell sqlite ssl svg tcltk tcpd tetex tiff truetype
vhosts vim-with-x wmf xine xinerama xml xml2 xmms xprint xsl xv xvid yahoo zlib"
Comment 1 Jonathan Hudson 2004-09-13 13:40:32 UTC
FYI, after the "sh*t I'm really screwed now" phase, I did 

$ gcc-config -l
[1] powerpc-unknown-linux-gnu-3.3.3
[2] powerpc-unknown-linux-gnu-3.4.2
gcc-config powerpc-unknown-linux-gnu-3.3.3

and thank $DIETY I have a working compiler again. Scary, breaking the compiler on a build from source distro.
Comment 2 Nicolas Vilz 2004-09-13 13:54:21 UTC
finally after switching to gcc 3.3.3 i started to merge back to gcc 3.4.1-r2 and that is still merging.... i just wanted to let you know, that you can't use 3.4.2-r1 now with my config..
Comment 3 Luca Barbato gentoo-dev 2004-09-14 01:08:50 UTC
why you still have /lib/libgcc_s.so ?

qpkg -f /lib/libgcc_s.so please
Comment 4 Nicolas Vilz 2004-09-14 06:46:55 UTC
after switching to gcc 3.3.3 and merging gcc 3.4.1-r2, i don't have /lib/libgcc_s.so

sorry :)
Comment 5 Travis Tilley (RETIRED) gentoo-dev 2004-09-14 10:48:44 UTC
can you do me a favor and find /lib /usr/lib | grep libgcc ?
Comment 6 Colin Tinker 2004-09-14 11:07:40 UTC
>>> emerge (1 of 1) sys-apps/groff-1.19.1 to /
>>> md5 src_uri ;-) groff-1.19.1.tar.gz
>>> Unpacking source...
>>> Unpacking groff-1.19.1.tar.gz to /var/tmp/portage/groff-1.19.1/work
 * Applying groff-1.18-infoext.patch...                                   [ ok ]
 * Applying groff-1.18-no-netpbm-depend.patch...                          [ ok ]
 * Applying groff-man-UTF-8.diff...                                       [ ok ]
>>> Source unpacked.
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for i686-pc-linux-gnu-gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for i686-pc-linux-gnu-g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking that C++ compiler can compile simple program... no
configure: error: a working C++ compiler is required

!!! ERROR: sys-apps/groff-1.19.1 failed.
!!! Function src_compile, Line 82, Exitcode 1
!!! (no error message)

I have tried gcc-3.4.2-r2 and 3.3.4 both versions give the same error.

merge info
Portage 2.0.50-r11 (default-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20040808-r0, 2.6.8-gentoo-r4)
=================================================================
System uname: 2.6.8-gentoo-r4 i686 AMD Athlon(tm) processor
Gentoo Base System version 1.5.3
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache clean distcc fixpackages sandbox userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.mirror.sdv.fr http://www.mirror.ac.uk/mirror/www.ibiblio.org/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"
USE="3dnow X X509 aac aalib acl acpi acpi4linux aim alsa apm arts audiofile avantgo avi berkdb bitmap-fonts bluetooth bonobo bootsplash cddb cdparanoia cdr chroot codecs crypt ctype cups curl dga dio directfb divx4linux dvb dvd dvdr dvdread encode esd ethereal evo faac faad fam fbcon fftw flac foomaticdb freetype gd gdbm gif gimp gimpprint gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml icq idea ieee1394 imagemagick imlib imlib2 innodb ipv6 irda irmc jabber java joystick jpeg kde ldap libg++ libwww linguas_en_GB live lm_sensors lzo lzw-tiff mad mikmod mimemmx mmx2 mng monkey motif mozcalendar mozilla mozp3p mozsvg mozxmlterm mpeg mpeg4 msn mysql nas ncurses network nls nocd nptl offensive oggvorbis ooo-kde opengl opie oscar oss pam pcap pcre pda pdflib perl pic png postgres prelink pthreadspython qt quicktime readline samba scanner sdl silc skey slang sockets sox speedo speex spell sse ssl svg svga t1lib tcltk tcpd tga theora threads tiff transcode truetype type1 unicode usb uudeview v4l v4l2 vim-with-x wifi wmf x86 xfs xinexml2 xmms xosd xprint xv xvid zlib zvbi"
Comment 7 Colin Tinker 2004-09-14 11:09:06 UTC
sorry I mean gcc-3.4.2-r1
Comment 8 Travis Tilley (RETIRED) gentoo-dev 2004-09-14 13:10:37 UTC
can /you/ do me a favor and find /lib* /usr/lib* | grep libgcc ?
Comment 9 Colin Tinker 2004-09-14 13:13:58 UTC
find /lib* /usr/lib* | grep libgcc
/lib/libgcc_s-3.4.2.so.1
/lib/libgcc_s.so.1
/lib/libgcc_s.so
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libgcc.a
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libgcc_eh.a
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libgcc_s.so.1
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libgcc_s.so
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.4.2/libgcc.a
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.4.2/libgcc_eh.a

As requested
Comment 10 Sebastian Dröge 2004-09-14 13:36:06 UTC
Same problem here... it happens even when gcc tries to build libgcj but ONLY on ppc... the only references for __quoss etc are in the gcc/config/rs6000 directory

works on x86 and amd64 as they are obviously don't use this directory ;)
Comment 11 Colin Tinker 2004-09-14 15:30:50 UTC
Release of gcc 3.4.1-e1 resolves the problem.

Thanks

Colin
Comment 12 Nicolas Vilz 2004-09-16 09:28:17 UTC
after switching back to gcc 3.4.1-r2, i had difficulties in merging evas-1.0.0.20040912_pre1, which required still 3.4.2-libs, which are not present after switching back to 3.4.1-r2

gcc points on 3.4.1-r2, instead of 3.4.2-r1.

---
/bin/sh ../../../../libtool --mode=link gcc  -O2 -pipe -mcpu=7400 -maltivec -mabi=altivec -fno-strict-aliasing   -o libevas_engine_directfb.la   evas_engine_dfb.lo evas_engine_dfb_image_objects.lo  -ldirectfb -lpthread -ldl   
grep: /usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.2/libstdc++.la: No such file or directory
/bin/sed: can't read /usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.2/libstdc++.la: No such file or directory
libtool: link: `/usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.2/libstdc++.la' is not a valid libtool archive
make[5]: *** [libevas_engine_directfb.la] Error 1
---
please put this into a new bug, if its wrong here... (and put me on the tracking-list)
Comment 13 Luca Barbato gentoo-dev 2004-09-16 09:30:12 UTC
please
make sure you have a gcc-3.4.1 and JUST it. the 3.4.2 should be completely removed
Comment 14 Nicolas Vilz 2004-09-16 10:08:53 UTC
according to portage, i have the following two gcc-versions installed:
---
>>> These are the packages that I would unmerge:

 sys-devel/gcc
    selected: 3.4.1-r2 3.3.3_pre20040426
   protected: none
     omitted: none
---

so, no gcc 3.4.2 is in there anymore... perhaps ld.so is not properly cleaned up...

oh, i see, /etc/env.d/05gcc does contain the path of a 3.4.2-lib in it.. i will now remove that path manually. i hope that did it.
Comment 15 Travis Tilley (RETIRED) gentoo-dev 2004-09-16 11:49:11 UTC
make sure you run fix_libtool_files.sh 3.4.2

and yes... until i can fix a few of the larger bugs, 3.4.2 is package masked. but nobody is giving me any feedback on proposed libgcc changes so... *shrug*
Comment 16 Nicolas Vilz 2004-09-16 12:51:01 UTC
*grml* how do i tell this damn libtool to use the fresh /etc/ld.so.cache? its still complaining that the 3.4.2-directory doesn't exist (which is true, but it should not use that gcc-version...)

things which didn't work out: 

trying to get the path out of /etc/env.d/05gcc
trying to erase /etc/ld.so.cache
trying to re source /etc/profile and merging again

any suggestions what i have to try now?
Comment 17 Nicolas Vilz 2004-09-16 12:53:23 UTC
ok, i would like to help you, but you have deleted the whole keyword to ppc according to packages.gentoo.org so i won't be able to switch to 3.4.2-r2 back again...

thx for the tip of trying fix_libtool_files.sh 3.4.2 ...

that worked... i am willing to help you, but i think i can't if i havent the keyword for ppc back again :)
Comment 18 Pieter Van den Abeele (RETIRED) gentoo-dev 2004-09-22 15:57:16 UTC
Please cc ppc again when anything needs testing
Comment 19 Paul Slinski 2004-10-07 07:51:18 UTC
Dumb question time: 
I'm having this issue on a x86 PC should I file a seperate report?
Comment 20 SpanKY gentoo-dev 2004-12-06 20:42:41 UTC
should be ok with latest gcc