First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 78652
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Jeremy Huddleston <eradicator@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Marcus Meng <aenslad.mackenzie@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
gcc-3.4.3-r1-assembler-errors.txt The emerge output text/plain Rutger Hendriks 2005-01-27 03:01 0000 68.61 KB Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 78652 depends on: Show dependency tree
Show dependency graph
Bug 78652 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-01-19 04:37 0000
I set up the 2005.0 profile as detailed on
http://www.gentoo.org/proj/en/base/amd64/2005.0-upgrade-amd64.xml

At the time, I had gcc-3.4.3. I decided to upgrade to 3.4.3-r1, and it crashes
with this error:

make[3]: Entering directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/32/zlib'
gcc -DPACKAGE=\"zlib\" -DVERSION=\"1.1.4\" -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 
-I. -I/var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib      -O2
-march=athlon64 -pipe  -m32 -c
/var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib/adler32.c
{standard input}: Assembler messages:
{standard input}:8: Error: suffix or operands invalid for `movzwq'
{standard input}:10: Error: bad register name `%r8d'
{standard input}:17: Error: bad register name `%r9'
{standard input}:20: Error: bad register name `%r8d'
{standard input}:22: Error: bad register name `%r8d'
{standard input}:23: Error: bad register name `%r8d'
{standard input}:27: Error: `(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:29: Error: `1(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:32: Error: `2(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:35: Error: `3(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:38: Error: `4(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:41: Error: `5(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:44: Error: `6(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:47: Error: `7(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:50: Error: `8(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:53: Error: `9(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:56: Error: `10(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:59: Error: `11(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:62: Error: `12(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:65: Error: `13(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:68: Error: `14(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:71: Error: `15(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:84: Error: `(%rsi)' is not a valid 32 bit base/index
expression
{standard input}:91: Error: suffix or operands invalid for `movq'
{standard input}:92: Error: bad register name `%r9'
{standard input}:93: Error: suffix or operands invalid for `movq'
{standard input}:97: Error: suffix or operands invalid for `movq'
{standard input}:101: Error: bad register name `%r9'
{standard input}:102: Error: suffix or operands invalid for `movq'
{standard input}:109: Error: bad register name `%r8d'
{standard input}:112: Error: suffix or operands invalid for `movq'
make[3]: *** [adler32.o] Error 1
make[3]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/32/zlib'
make[2]: *** [multi-do] Error 1
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/zlib'
make[1]: *** [all-multi] Error 2
make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/zlib'
make: *** [all-zlib] Error 2

!!! ERROR: sys-devel/gcc-3.4.3-r1 failed.
!!! Function gcc_do_make, Line 1067, Exitcode 2
!!! make failed with profiledbootstrap
!!! If you need support, post the topmost build error, NOT this status message.

Reproducible: Always
Steps to Reproduce:
1. Set up 2005.0 profile.
2. emerge gcc

Actual Results:  
It crashed with the error mentioned in the details.

Expected Results:  
It should have emerged correctly.

emerge info output:

Portage 2.0.51-r13 (default-linux/amd64/2005.0, gcc-3.4.3,
glibc-2.3.4.20041102-r0, 2.6.10-nitro1 x86_64)
=================================================================
System uname: 2.6.10-nitro1 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Dec 26 2004, 11:54:56)]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r5
sys-devel/automake:  1.8.5-r1
sys-devel/binutils:  2.15.90.0.1.1-r3
sys-devel/libtool:   1.5.2-r7
virtual/os-headers:  2.6.8.1-r4
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon64 -mmmx -m3dnow -msse2 -mfpmath=sse,387 -pipe"
CHOST="x86_64-pc-linux-gnu"
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/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon64 -mmmx -m3dnow -msse2 -mfpmath=sse,387 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://mirror.averse.net/pub/gentoo/
ftp://mirror.averse.net/pub/gentoo http://mymirror.asiaosc.org/gentoo/ 
http://gentoo.scphost.com http://www.zentek-international.com/mirrors/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/portage /usr/local/overlays/bmg-main
/usr/local/overlays/fluidportage/trunk"
SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage"
USE="amd64 X aac alsa anthy audiofile berkdb canna cjk crypt cups curl dga
directfb fam fbcon flac gdbm gif gnome gpm gstreamer gtk gtk2 imap immqt
immqt-bc ipv6 jack java jpeg libclamav mad mysql ncurses nls nntp nptl nptlonly
oggvorbis opengl pam perl php png python qt readline samba sdl skey slang spell
ssl tcltk tetex tiff truetype unicode xml xml2 xprint xv zlib"
Unset:  LDFLAGS

------- Comment #1 From Marcus Meng 2005-01-25 06:03:35 0000 -------
I took out fortran, gcj, gtkj, and objc, and now my error message has
transformed into:

Code:
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../libc.so when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../libc.a when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.so when
searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.a when
searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make[3]: *** [32/libgcc_s_32.so] Error 1
make[3]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-3.4.3-r1 failed.
!!! Function gcc_do_make, Line 1074, Exitcode 2
!!! make failed with profiledbootstrap
!!! If you need support, post the topmost build error, NOT this status message.


/usr/lib/libc.so is also kinda wierd. I'm not sure if it's supposed to be like
this, but it's an executable text file that contains:

Code:
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a )


Naturally, I can't execute that, though /lib/libc.so.6 runs fine and dumps out
the usual information:

GNU C Library 20041102 release version 2.3.4, by Roland McGrath et al.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.4.3  (Gentoo Linux 3.4.3, HTB-1.00).
Compiled on a Linux 2.6.8 system on 2005-01-25.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        Native POSIX Threads Library by Ulrich Drepper et al
        The C stubs add-on version 2.1.2.
        GNU Libidn by Simon Josefsson
        BIND-8.2.3-T5B
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

------- Comment #2 From Rutger Hendriks 2005-01-26 02:01:02 0000 -------
Identical problems here, both on normal emerge of gcc and on contents of
/usr/lib/libc.so

Since /usr/lib/libc.so links to /usr/lib64/libc.so and since that belongs to
sys-libs/glibc I tried reinstalling that, but the contents of libc.so is still
the 5 text lines.
I guess glibc is to blame here?

------- Comment #3 From Rutger Hendriks 2005-01-26 04:17:52 0000 -------
I was thinking it might be a problem with other stuff on my pc (since glibc
gives a weird /usr/lib/libc.so) therefore I emerge'd -e system and all goes
well until it comes to gcc (which is around package 75 or so) and then the same
file gives an error (adler32.c) but it is different now, so it seems I getting
somewhere
We might just have 1 'wrong' package installed...
oh well, actually I don't know :P

anyways, here is the output now:

make[3]: Entering directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/32/zlib'
gcc -DPACKAGE=\"zlib\" -DVERSION=\"1.1.4\" -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 
-I. -I/var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib      -O2 -march=k8
-pipe  -m32 -c /var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib/adler32.c
{standard input}: Assembler messages:
{standard input}:8: Error: bad register name `%rcx'
{standard input}:9: Error: bad register name `%rdi'
{standard input}:10: Error: bad register name `%r8d'
{standard input}:12: Error: bad register name `%rsi'
{standard input}:17: Error: bad register name `%r9'
{standard input}:20: Error: bad register name `%r8d'
{standard input}:22: Error: bad register name `%r8d'
{standard input}:23: Error: bad register name `%r8d'
{standard input}:27: Error: bad register name `%rsi)'
{standard input}:28: Error: bad register name `%rax'
{standard input}:29: Error: bad register name `%rsi)'
{standard input}:30: Error: bad register name `%rcx'
{standard input}:31: Error: bad register name `%rax'
{standard input}:32: Error: bad register name `%rsi)'
{standard input}:33: Error: bad register name `%rcx'
{standard input}:34: Error: bad register name `%rax'
{standard input}:35: Error: bad register name `%rsi)'
{standard input}:36: Error: bad register name `%rcx'
{standard input}:37: Error: bad register name `%rax'
{standard input}:38: Error: bad register name `%rsi)'
{standard input}:39: Error: bad register name `%rcx'
{standard input}:40: Error: bad register name `%rax'
{standard input}:41: Error: bad register name `%rsi)'
{standard input}:42: Error: bad register name `%rcx'
{standard input}:43: Error: bad register name `%rax'
{standard input}:44: Error: bad register name `%rsi)'
{standard input}:45: Error: bad register name `%rcx'
{standard input}:46: Error: bad register name `%rax'
{standard input}:47: Error: bad register name `%rsi)'
{standard input}:48: Error: bad register name `%rcx'
{standard input}:49: Error: bad register name `%rax'
{standard input}:50: Error: bad register name `%rsi)'
{standard input}:51: Error: bad register name `%rcx'
{standard input}:52: Error: bad register name `%rax'
{standard input}:53: Error: bad register name `%rsi)'
{standard input}:54: Error: bad register name `%rcx'
{standard input}:55: Error: bad register name `%rax'
{standard input}:56: Error: bad register name `%rsi)'
{standard input}:57: Error: bad register name `%rcx'
{standard input}:58: Error: bad register name `%rax'
{standard input}:59: Error: bad register name `%rsi)'
{standard input}:60: Error: bad register name `%rcx'
{standard input}:61: Error: bad register name `%rax'
{standard input}:62: Error: bad register name `%rsi)'
{standard input}:63: Error: bad register name `%rcx'
{standard input}:64: Error: bad register name `%rax'
{standard input}:65: Error: bad register name `%rsi)'
{standard input}:66: Error: bad register name `%rcx'
{standard input}:67: Error: bad register name `%rax'
{standard input}:68: Error: bad register name `%rsi)'
{standard input}:69: Error: bad register name `%rcx'
{standard input}:70: Error: bad register name `%rax'
{standard input}:71: Error: bad register name `%rsi)'
{standard input}:72: Error: bad register name `%rsi'
{standard input}:73: Error: bad register name `%rcx'
{standard input}:74: Error: bad register name `%rax'
{standard input}:75: Error: bad register name `%rcx'
{standard input}:84: Error: bad register name `%rsi)'
{standard input}:85: Error: bad register name `%rsi'
{standard input}:86: Error: bad register name `%rax'
{standard input}:87: Error: bad register name `%rcx'
{standard input}:91: Error: bad register name `%rcx'
{standard input}:92: Error: bad register name `%r9'
{standard input}:93: Error: bad register name `%rcx'
{standard input}:94: Error: bad register name `%rdx'
{standard input}:95: Error: bad register name `%rax'
{standard input}:96: Error: bad register name `%rax'
{standard input}:97: Error: bad register name `%rdi'
{standard input}:98: Error: bad register name `%rdx'
{standard input}:99: Error: bad register name `%rdx'
{standard input}:100: Error: bad register name `%rdx'
{standard input}:101: Error: bad register name `%r9'
{standard input}:102: Error: bad register name `%rdi'
{standard input}:103: Error: bad register name `%rdx'
{standard input}:104: Error: bad register name `%rax'
{standard input}:105: Error: bad register name `%rax'
{standard input}:106: Error: bad register name `%rdx'
{standard input}:107: Error: bad register name `%rdx'
{standard input}:108: Error: bad register name `%rdx'
{standard input}:109: Error: bad register name `%r8d'
{standard input}:112: Error: bad register name `%rdi'
{standard input}:113: Error: bad register name `%rax'
{standard input}:114: Error: bad register name `%rcx'
make[3]: *** [adler32.o] Error 1
make[3]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/32/zlib'
make[2]: *** [multi-do] Error 1
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/zlib'
make[1]: *** [all-multi] Error 2
make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/zlib'
make: *** [all-zlib] Error 2

!!! ERROR: sys-devel/gcc-3.4.3-r1 failed.
!!! Function gcc_do_make, Line 1074, Exitcode 2
!!! make failed with profiledbootstrap
!!! If you need support, post the topmost build error, NOT this status message.

------- Comment #4 From Marcus Meng 2005-01-26 04:22:42 0000 -------
I think I may have found a workaround. I downloaded the new glibc lib32s from
http://mymirror.asiaosc.org/gentoo/releases/amd64/2005.0/profile_update/glibc-2.3.4.20041102-lib32.tar.bz2,
unpacked them into the root directory, took "gcj" out of gcc's USE flags, and
recompiled. It works now... I've got 3.4.3-r1 installed fine.

The assembler errors, if I had to guess, have something to do with GCJ. The
incompatible .so errors were probably something to do with the new lib32 stuff
that the 2005.0 profile update provides.

Perhaps someone else can try this to confirm if this does help?

------- Comment #5 From Mike Doty 2005-01-26 05:58:12 0000 -------
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a )

^^^that is valid syntax inside a .so

take a look at section 5.3 at http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/miscellaneous.html

------- Comment #6 From Rutger Hendriks 2005-01-26 06:28:05 0000 -------
Ah Mike, didn't know that, thanx for pointing it out
with respect to the workaround, does this allow you to re-emerge gcc?

------- Comment #7 From Mike Doty 2005-01-26 06:30:31 0000 -------
for the record, I'm not saying that the contents are proper, just that the
syntax is.  I would have expected /usr/lib64 instead of /usr/lib, but I'm still
on 2004.3

------- Comment #8 From Marcus Meng 2005-01-26 06:31:27 0000 -------
Replying to #6:

Apparantly so. I've got GCC running fine on my computer now, so it seems to have worked.

------- Comment #9 From Rutger Hendriks 2005-01-26 06:52:27 0000 -------
Replying to comment 7:
/lib is actually a symlink to /lib64
same goes for /usr/lib, it is a symlink to /usr/lib64

comment 8:
what this means then, is that the upgrade to 2005.0 actually didn't go as planned? and you have sort of redone it and now it works?
Okay, trying to redo it myself....it wants to recompile glibc (that must be the 4rd time already today:P) so will take a while, but I will get back with the results

------- Comment #10 From Rutger Hendriks 2005-01-26 09:30:05 0000 -------
Okay, the Makefile for the profile update to 2005.0 finished, but emerging
gcc-3.4.3-r1 still gives the bad register name errors detailed in comment 3

------- Comment #11 From Jeremy Huddleston 2005-01-26 21:36:43 0000 -------
Rutger, please provide more context.  When is it trying to run:
gcc -DPACKAGE=\"zlib\" -DVERSION=\"1.1.4\" -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1  -I. -I/var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib      -O2 -march=k8 -pipe  -m32 -c /var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib/adler32.c

That command line is NOT correct.  It should never be running gcc with -m32 as an argument. It should be running xgcc with -m32 as the argument.

------- Comment #12 From Rutger Hendriks 2005-01-27 03:01:51 0000 -------
Created an attachment (id=49641) [edit]
The emerge output

Since the error comes up already in the beginning, just after some configure
steps, I've included it all :)

In short I get it in "Configuring in zlib" when configure is running in
multilib subdirs 32


# emerge info
Portage 2.0.51-r15 (default-linux/amd64/2005.0, gcc-3.4.3,
glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r14 x86_64)
=================================================================
System uname: 2.6.9-gentoo-r14 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.4.16
Python: 	     dev-lang/python-2.3.4 [2.3.4 (#1, Jan 26 2005, 12:42:30)]
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.8.5-r2, 1.9.3, 1.6.3, 1.7.9, 1.4_p6, 1.8.5-r1
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.2-r7
virtual/os-headers:  2.6.8.1-r4
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb
-frename-registers -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3/share/config /usr/lib/X11/xkb /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 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb
-frename-registers -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig candy ccache distlocks moo sandbox"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo
ftp://ftp.tiscali.nl/pub/mirror/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="amd64 S3TC X aac aalib acpi acpi4linux alsa arts asterisk audiofile avi
ba-completion bash-completion berkdb bitmap-fonts cddb cdparanoia cdr chroot
crypt cups dba dga dio divx4linux dmx dts dv dvd dvdr dvdread edl encode esd
f77 faac faad fam fbcon fbdev festival ffmpeg fftw flac foomaticdb fortran ftp
gcj gd gdbm ggi gif gphoto2 gpm gs gstreamer gtk gtk2 icq ieee1394 imagemagick
imap imlib imlib2 ipv6 irmc jabber java javascript joystick jp2 jpeg junit
kdelcd lcms ldap libcaca libwww lirc live lzo lzw lzw-tiff mad makecheck mbox
mikmod mime mng motif mozaccess mozcalendar mozilla mozp3p mozsvg mozxmlterm
mpeg mpeg4 mpi mplayer msn multislot mysql mythtv nas ncurses net nethack
network nls nowin nptl nptlonly nvidia oav objc offensive oggvorbis opengl opie
oss pam pda perl pic plotutils png posix ppds python qt quicktime readline rtc
samba sasl sdl slang slp smime speex spell ssl svg tcltk tcpd tetex theora tiff
transcode truetype truetype-fonts type1-fonts usb userlocales v4l v4l2 videos
wmf xine xml xml2 xmms xosd xpm xrandr xscreensaver xv xvid xvmc yv12 zlib zvbi
linguas_nl linguas_en_GB"
Unset:	ASFLAGS, CBUILD, CTARGET, LDFLAGS

------- Comment #13 From Jeremy Huddleston 2005-01-27 03:13:49 0000 -------
Ok, this looks related to gcj...

I'm surprised that you're not getting an error from gcc about -m64 and -m32 being used at the same time...

------- Comment #14 From Rutger Hendriks 2005-01-27 04:12:37 0000 -------
Are they being used at the same time then? In the command that fails I only see
-m32

<snip>
gcc -DPACKAGE=\"zlib\" -DVERSION=\"1.1.4\" -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 
-I. -I/var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib      -O2 -march=k8
-pipe  -m32 -c /var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib/adler32.c
{standard input}: Assembler messages:
{standard input}:8: Error: bad register name `%rcx
<snip>

If I understand correctly, both a 32 bit and a 64 bit version will be compiled
in this 2005.0 profile right? And this looks like the 32 bit version uses bad
register names (shot in the dark: are these the added 64-bit registers?)

Is there any gcc output you want?

------- Comment #15 From Rutger Hendriks 2005-01-27 04:15:09 0000 -------
Could you give a hint as to why gcj seems to be the problem? That's the java
compiler, I do not see any mention of java around the error message ?

------- Comment #16 From Marcus Meng 2005-01-27 04:19:25 0000 -------
Well, I really know nothing about this, but my guess is that since zlib deals
with compression, the only thing that makes sense is java since java compresses
.jar files. None of the other compilers in there, as I'm aware of, needs that.
Eh. So that would be a completely random thought.

------- Comment #17 From Jeremy Huddleston 2005-01-27 10:14:00 0000 -------
Rutger: It doesn't happen with USE=-gcj, that code only gets compiled when you
ask for gcj.  GCJ is mentioned in your debug output.

-m64 is implied becasue it is executing gcc directly which appends -m64 is
ABI=amd64 (which it does in this case).

I think the best solution is to change the build order and have these gcj
support libraries built using xgcc or just use ones already on the system...

------- Comment #18 From Rutger Hendriks 2005-01-27 10:58:40 0000 -------
I've tried USE=-gcj emerge -av gcc and that is compiling now happily. Thanks!
Guess I'll have to do without gcj for a while until this is resolved (not a big problem for me atm, but ... :P )

------- Comment #19 From Rutger Hendriks 2005-01-27 12:03:53 0000 -------
Okay :)
the USE=-gcj emerge gcc has finished succesfully, i.e. didn't end prematurely. HOWEVER, I did see some error messages flying by (I have good eyes (when I put my lenses in:P) and a scroll-lock key:P)
I thought nothing of the errors, until gcc was merged and I tried to start kuickshow (the kde image viewer) and emerge -e system
Both complained about libgcc_s:

=============================
kuickshow: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
=============================

emerge -ea system somewhere in ncurses:
=============================
ranlib ../lib/libncurses++.a
x86_64-pc-linux-gnu-g++  -o demo ../obj_s/demo.o -L../lib -lncurses++ -L../lib -lform -lmenu -lpanel -lncurses -Wl,-rpath,/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/lib  -I../c++ -I../include -I. -DHAVE_CONFIG_H -I. -I../include  -D_GNU_SOURCE -DNDEBUG -O2 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb -frename-registers -pipe -fPIC -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
make[1]: *** [demo] Error 1
make[1]: Leaving directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/c++'
make: *** [all] Error 2

!!! ERROR: sys-libs/ncurses-5.4-r5 failed.
!!! Function src_compile, Line 81, Exitcode 2
!!! make failed
!!! If you need support, post the topmost build error, NOT this status message.
=============================


Scrolling back to the emerge of gcc-3.4.3-r1 shows that the error messages were actually (among other things) about libgcc_s
Here are (some of?) the error messages that were output in USE=-gcj emerge gcc:


=============================
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
echo timestamp > stage1_build
echo stage1_build > stage_last
make stage1
make[2]: Entering directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
make -f libgcc.mk libgcc-stage-start stage=stage1
make[3]: Entering directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
for dir in libgcc 32 libgcc/32; do \
  if [ -d stage1/$dir ]; then true; else /bin/sh /var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/gcc/mkinstalldirs stage1/$dir; fi; \
done
mkdir -p -- stage1/libgcc
mkdir -p -- stage1/32
mkdir -p -- stage1/libgcc/32
for dir in libgcc 32 libgcc/32; do \
  mv $dir/*.o stage1/$dir; \
  mv $dir/*.os stage1/$dir || true; \
  test ! -f $dir/stacknote.s || mv $dir/stacknote.s stage1/$dir; \
  test ! -f $dir/libgcc.a || mv $dir/lib* stage1/$dir; \
done
mv: cannot stat `libgcc/*.os': No such file or directory
mv: cannot stat `32/*.os': No such file or directory
mv: cannot stat `libgcc/32/*.os': No such file or directory
make[3]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
subdirs="cp f objc"; for dir in $subdirs; \
 do \
   if [ -d stage1/$dir ] ; then true ; else mkdir stage1/$dir ; fi ; \
 done
mv specs stage1/specs
mv *.o insn-flags.h insn-config.h insn-codes.h insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c insn-attr.h insn-attrtab.c insn-opinit.c insn-constants.h tm-preds.h tree-check.h insn-conditions.c min-insn-modes.c insn-modes.c insn-modes.h s-flags s-config s-codes s-mlib s-genrtl s-modes s-gtype gtyp-gen.h s-output s-recog s-emit s-extract s-peep s-check s-conditions s-attr s-attrtab s-opinit s-preds s-constants s-crt0 genemit genoutput genrecog genextract genflags gencodes genconfig genpeep genattrtab genattr genopinit gengenrtl gencheck genpreds genconstants gengtype genconditions genmodes genrtl.cgenrtl.h gt-*.h gtype-*.h gtype-desc.c xgcc cpp cc1  crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o  gcc-cross protoize unprotoize specs collect2 collect2 gcov-iov gcov gcov-dump *.[0-9][0-9].* *.[si] libcpp.a libbackend.a libgcc.mk g++ g++-cross cc1plus g77 g77-cross f771 cc1obj stage1
mv: cannot stat `s-crt0': No such file or directory
mv: cannot stat `crtbegin.o': No such file or directory
mv: cannot stat `crtbeginS.o': No such file or directory
mv: cannot stat `crtbeginT.o': No such file or directory
mv: cannot stat `crtend.o': No such file or directory
mv: cannot stat `crtendS.o': No such file or directory
mv: cannot stat `gcc-cross': No such file or directory
mv: cannot stat `protoize': No such file or directory
mv: cannot stat `unprotoize': No such file or directory
mv: cannot stat `specs': No such file or directory
mv: cannot stat `collect2': No such file or directory
mv: cannot stat `gcov': No such file or directory
mv: cannot stat `gcov-dump': No such file or directory
mv: cannot stat `*.[0-9][0-9].*': No such file or directory
mv: cannot stat `*.[si]': No such file or directory
mv: cannot stat `g++-cross': No such file or directory
mv: cannot stat `cc1plus': No such file or directory
mv: cannot stat `g77-cross': No such file or directory
mv: cannot stat `f771': No such file or directory
mv: cannot stat `cc1obj': No such file or directory
make[2]: [stage1-start] Error 1 (ignored)
if [ -f as ] ; then (cd stage1 && ln -s ../as .) ; else true ; fi
if [ -f ld ] ; then (cd stage1 && ln -s ../ld .) ; else true ; fi
if [ -f collect-ld ] ; then (cd stage1 && ln -s ../collect-ld .) ; else true ; fi
rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a
rm -f stage1/libgcc_s*.so
rm -f stage1/libunwind.a stage1/libunwind*.so
cp libgcc.a stage1
` if [ -f /var/tmp/portage/gcc-3.4.3-r1/work/build/gcc/../binutils/ranlib ] ; then echo /var/tmp/portage/gcc-3.4.3-r1/work/build/gcc/../binutils/ranlib ; else if [ "x86_64-pc-linux-gnu" = "x86_64-pc-linux-gnu" ] ; then echo ranlib; else t='s,y,y,'; echo ranlib | sed -e $t ; fi; fi` stage1/libgcc.a
cp libgcov.a stage1
` if [ -f /var/tmp/portage/gcc-3.4.3-r1/work/build/gcc/../binutils/ranlib ] ; then echo /var/tmp/portage/gcc-3.4.3-r1/work/build/gcc/../binutils/ranlib ; else if [ "x86_64-pc-linux-gnu" = "x86_64-pc-linux-gnu" ] ; then echo ranlib; else t='s,y,y,'; echo ranlib | sed -e $t ; fi; fi` stage1/libgcov.a
if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage1; \
   ` if [ -f /var/tmp/portage/gcc-3.4.3-r1/work/build/gcc/../binutils/ranlib ] ; then echo /var/tmp/portage/gcc-3.4.3-r1/work/build/gcc/../binutils/ranlib ; else if [ "x86_64-pc-linux-gnu" = "x86_64-pc-linux-gnu" ] ; then echo ranlib; else t='s,y,y,'; echo ranlib | sed -e $t ; fi; fi` stage1/libgcc_eh.a; \
fi
cp libgcc_s*.so stage1
cp: cannot stat `libgcc_s_32.so': No such file or directory
make[2]: [stage1-start] Error 1 (ignored)
cp libunwind.a libunwind*.so stage1
cp: cannot stat `libunwind.a': No such file or directory
cp: cannot stat `libunwind*.so': No such file or directory
make[2]: [stage1-start] Error 1 (ignored)
for f in .. crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o; do if [ x${f} != x.. ]; then \
  cp stage1/${f} . ; \
else true; \
fi; done
mv cp/*.o stage1/cp
mv: cannot stat `cp/*.o': No such file or directory
make[2]: [c++.stage1] Error 1 (ignored)
mv -f f/*.o f/fini f/stamp-str f/str-*.h f/str-*.j g77spec.o stage1/f
mv: cannot stat `f/*.o': No such file or directory
mv: cannot stat `f/fini': No such file or directory
mv: cannot stat `f/stamp-str': No such file or directory
mv: cannot stat `f/str-*.h': No such file or directory
mv: cannot stat `f/str-*.j': No such file or directory
mv: cannot stat `g77spec.o': No such file or directory
make[2]: [f77.stage1] Error 1 (ignored)
mv objc/*.o stage1/objc
mv: cannot stat `objc/*.o': No such file or directory
make[2]: [objc.stage1] Error 1 (ignored)
for dir in . cp f objc ; \
do \
  rm -f $dir/*.{gcda,gcno} ; \
done
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
echo timestamp > stage1_copy
echo stage2_build > stage_last
=============================


I guess I would like those libgcc_s.so files back :)

------- Comment #20 From Rutger Hendriks 2005-01-27 12:18:39 0000 -------
Okay, luckily they are still installed, only in another directory now
they moved from
/usr/lib64/gcc-lib/x86_64-pc-linux-gnu/3.4.3/libgcc_s.so
to
/usr/lib64/gcc-lib/x86_64-pc-linux-gnu/lib64/libgcc_s.so
weird though, that they can't be found in ncurses-5.4-r5 when running emerge -e system, because 'ldconfig -v|grep libgcc' does show it.

------- Comment #21 From Jeremy Huddleston 2005-01-27 23:25:38 0000 -------
Rutger, when did you last sync?

what is the output of:
grep '$Header' /usr/portage/eclass/multilib.eclass /var/db/pkg/sys-devel/gcc-3.4.3-r1/gcc-3.4.3-r1.ebuild

------- Comment #22 From Jeremy Huddleston 2005-01-27 23:26:18 0000 -------
I meant:
grep '$Header' /usr/portage/eclass/toolchain.eclass /var/db/pkg/sys-devel/gcc-3.4.3-r1/gcc-3.4.3-r1.ebuild

------- Comment #23 From Rutger Hendriks 2005-01-28 02:40:17 0000 -------
The last few days I've been syncing twice a day, once when I get up and once
before I go to bed.

# grep '$Header' /usr/portage/eclass/toolchain.eclass
/var/db/pkg/sys-devel/gcc-3.4.3-r1/gcc-3.4.3-r1.ebuild
/usr/portage/eclass/toolchain.eclass:# $Header:
/var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.94 2005/01/27 20:26:08
eradicator Exp $
/var/db/pkg/sys-devel/gcc-3.4.3-r1/gcc-3.4.3-r1.ebuild:# $Header:
/var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.3-r1.ebuild,v 1.19 2005/01/19
12:59:17 kumba Exp $

It seems the problem has been fixed by running this command before I went to
bed:
emerge glibc gcc;emerge gcc glibc;emerge glibc gcc
where /etc/portage/package.use contains sys-devel/gcc -gcj

Last night I couldn't start some kde programs, they needed libgcc_s.so which
they apparently couldn't find.
Now they all work again:)
I'm running emerge -e system now to make sure all is well.

I hope/guess this concludes the little side-problem and we can continue again
with the current topic of this bug, USE=gcj emerge gcc :)

------- Comment #24 From Jeremy Huddleston 2005-01-28 03:03:05 0000 -------
ok... that's odd about the libgcc_s.so ending up in the wrong location... there
was something with $(tc-arch) being broken a few weeks ago which resulted in a
similar problem, so I'm guessing that might just be residual gunk from that...
if you do run into that problem again, pleasse let me know, but I just double
checked  the current gcc and the gcc that gets made in using the portage
snapshot for 2005.0, and both are good... so it looks like the only issue
remaining then is the USE=gcj stuff...  I'm going to try to fix that with a
bump to gcc-config which will allow command line arguments to overwrite
${ABI}... probably some time this weekend.

------- Comment #25 From Jeremy Huddleston 2005-01-30 21:41:18 0000 -------
Please emerge gcc-config-1.3.10 (You'll need to manually add your arch to the
KEYWORDS list as it is currently -*) and give it a try.

------- Comment #26 From Rutger Hendriks 2005-01-31 06:54:31 0000 -------
With the new gcc-config the compilation seems to go okay at the critical zlib
part:

#USE="gcj" emerge gcc
<snip>
make[3]: Entering directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/32/zlib'
gcc -DPACKAGE=\"zlib\" -DVERSION=\"1.1.4\" -DHAVE_UNISTD_H=1
-DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_MEMCPY=1 -DHAVE_STRERROR=1
-DHAVE_UNISTD_H=1  -I. -I/var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib     
-O2 -march=k8 -pipe  -m32 -c
/var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/zlib/adler32.c
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3/gcc: gcc-wrapper: -m32 detected on the
command line overrides implicit -m64 added by the wrapper.
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3/gcc: gcc-wrapper: -m32 detected on the
command line overrides implicit -m64 added by the wrapper.

and installs like a charm I guess :)
What I do not understand from the new message is which option is used now, m32
or m64?

------- Comment #27 From Jeremy Huddleston 2005-01-31 13:12:33 0000 -------
-m64 is implicitly set by the wrapper because portage is telling the toolchain
it wants ABI=amd64, but the -m32 on the command line overrides this, so -m32 is
used.  What do youu think would be a clearer message to indicate this?

This would be the same as you using 'gcc64 -m32 test.c' or 'gcc32 -m64 test.c'.

------- Comment #28 From Jeremy Huddleston 2005-01-31 13:30:18 0000 -------
resolving fixed... and that's the last regression I know of from 2004.3 to
2005.0 =)

------- Comment #29 From Stéphane Pagnon 2005-02-06 22:04:09 0000 -------
Check that http://forums.gentoo.org/viewtopic.php?p=2064490#2064490

First Last Prev Next    No search results available      Search page      Enter new bug