Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
2005.0 GCC 3.4.3-r1 Compile Error - invalid assembler?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64
View previous topic :: View next topic  
Author Message
JDHarris
n00b
n00b


Joined: 24 Oct 2004
Posts: 45

PostPosted: Wed Jan 19, 2005 2:41 am    Post subject: 2005.0 GCC 3.4.3-r1 Compile Error - invalid assembler? Reply with quote

I'm trying to upgrade my gcc version from gcc3.4.3 to gcc3.4.3-r1. I've made one other post about it, but it was a completely different error, so sorry if this counts as a duplicate... I've upgraded the profile from 2004.3 to 2005.0 (following the documentation provided here) and when trying to compile gcc I get the following 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.


Any ideas? Why is it complaining about a valid 32 bit base/index expression? This is a 64-bit system...

[EDIT] I also just checked to see if I could compile glibc, it fails with the following error during the configure, but everything else on the system seems to compile just fine.

checking size of long double... configure: error: cannot compute sizeof (long double), 77
See `config.log' for more details.


One last thing to add in here... with the 32-bit libraries removed (per the instructions on the 2005.0 conversion), how do you run applications like OpenOffice that rely upon those libs?
_________________
Athlon 64 3500+
2 GB of RAM
2 74GB Raptors RAID 0
nVidia GeForce 6800 GT 256 MB
Back to top
View user's profile Send private message
moocha
Watchman
Watchman


Joined: 21 Oct 2003
Posts: 5722

PostPosted: Wed Jan 19, 2005 4:05 am    Post subject: Reply with quote

Code:
-march=k8

_________________
Military Commissions Act of 2006: http://tinyurl.com/jrcto

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety."
-- attributed to Benjamin Franklin
Back to top
View user's profile Send private message
Moonlight-Flower
Tux's lil' helper
Tux's lil' helper


Joined: 15 Sep 2003
Posts: 135

PostPosted: Wed Jan 19, 2005 10:25 am    Post subject: Reply with quote

That doesn't help... tried that and -march=athlon64.

Um, a slightly related question: when you do a emerge -pv gcc on the 2005.0 profile, is your multilib USE flag masked? As I understand, it's supposed to be forced on, but because emerge doesn't show it in red if it's forced on, I can't tell, and it makes me a bit nervous...

For the glibc error, an "env-update" followed by "source /etc/profile" seemed to fix it for me.


Last edited by Moonlight-Flower on Wed Jan 19, 2005 1:53 pm; edited 1 time in total
Back to top
View user's profile Send private message
fredor
Tux's lil' helper
Tux's lil' helper


Joined: 13 Oct 2003
Posts: 84
Location: UK

PostPosted: Wed Jan 19, 2005 11:46 am    Post subject: Reply with quote

Compiling glibc replaces the lib32 folders so you need to get this working first.
I had a problem with linux-headers so I went back to linux26-headers and everything compiled with 'emerge -e system' except libperl which has since been corrected.
Back to top
View user's profile Send private message
JDHarris
n00b
n00b


Joined: 24 Oct 2004
Posts: 45

PostPosted: Wed Jan 19, 2005 8:46 pm    Post subject: Reply with quote

I still get the same error. My CFLAGS has -march=athlon64 and -mtune=athlon64. I don't really understand why I would be getting errors about 32-bit assembly...
_________________
Athlon 64 3500+
2 GB of RAM
2 74GB Raptors RAID 0
nVidia GeForce 6800 GT 256 MB
Back to top
View user's profile Send private message
Loial
n00b
n00b


Joined: 24 Mar 2003
Posts: 29

PostPosted: Mon Jan 24, 2005 10:38 am    Post subject: multilib Reply with quote

I'm having the same problem
I think we get 32-bit assembly errors because the 2005.0 profile compiles both 64 and 32?
well anyway, i'm not sure...
Back to top
View user's profile Send private message
robet
l33t
l33t


Joined: 06 Sep 2004
Posts: 807
Location: Earth/NorthAmerica/USA/NY

PostPosted: Mon Jan 24, 2005 8:28 pm    Post subject: Reply with quote

Same issue here, fixed it with "env-update && source /etc/profile".
_________________
no software patents in europe! | adopt an unanswered post.
Back to top
View user's profile Send private message
Moonlight-Flower
Tux's lil' helper
Tux's lil' helper


Joined: 15 Sep 2003
Posts: 135

PostPosted: Tue Jan 25, 2005 1:06 pm    Post subject: Reply with quote

robet wrote:
Same issue here, fixed it with "env-update && source /etc/profile".


Just tried that out... didn't help...
Back to top
View user's profile Send private message
Loial
n00b
n00b


Joined: 24 Mar 2003
Posts: 29

PostPosted: Tue Jan 25, 2005 1:35 pm    Post subject: Reply with quote

nope, doesn't help here either

found a bugreport on the subject here:
https://bugs.gentoo.org/show_bug.cgi?id=78652
Back to top
View user's profile Send private message
Moonlight-Flower
Tux's lil' helper
Tux's lil' helper


Joined: 15 Sep 2003
Posts: 135

PostPosted: Tue Jan 25, 2005 2:00 pm    Post subject: Reply with quote

Just out of curiousity, what's everyone's gcc USE flags? 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.

Perhaps this might help a bit in diagnosing the problem?
Back to top
View user's profile Send private message
Moonlight-Flower
Tux's lil' helper
Tux's lil' helper


Joined: 15 Sep 2003
Posts: 135

PostPosted: Wed Jan 26, 2005 1:39 pm    Post subject: Reply with quote

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?
Back to top
View user's profile Send private message
tcbounce
Tux's lil' helper
Tux's lil' helper


Joined: 18 Nov 2003
Posts: 86
Location: South Korea

PostPosted: Wed Feb 09, 2005 8:47 am    Post subject: glibc-lib32 removed from gentoo mirrors. Reply with quote

Where else can we get this file? I've tried the files from emu-linux-x86-glibc and still having no joy, as the configure script for gcc is broken.

Cheers,

Luke
Back to top
View user's profile Send private message
ketjow
Guru
Guru


Joined: 01 Apr 2004
Posts: 382
Location: Krakow, Poland

PostPosted: Wed Feb 09, 2005 7:06 pm    Post subject: Reply with quote

moocha wrote:
Code:
-march=k8
what's the difference between -march=k8 and -march=athlon64 ??
Back to top
View user's profile Send private message
moocha
Watchman
Watchman


Joined: 21 Oct 2003
Posts: 5722

PostPosted: Wed Feb 09, 2005 8:04 pm    Post subject: Reply with quote

ketjow wrote:
moocha wrote:
Code:
-march=k8
what's the difference between -march=k8 and -march=athlon64 ??

None, except some versions of GCC didn't accept athlon64.
_________________
Military Commissions Act of 2006: http://tinyurl.com/jrcto

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety."
-- attributed to Benjamin Franklin
Back to top
View user's profile Send private message
tcbounce
Tux's lil' helper
Tux's lil' helper


Joined: 18 Nov 2003
Posts: 86
Location: South Korea

PostPosted: Thu Feb 10, 2005 3:25 am    Post subject: bump Reply with quote

Um the topic is about everyone not being able to get multilib and 2005.0 working NOT CFLAGS (i'm going to roll back soon! and mask all the ebuilds that break 2004.3 like emul-linux-baselibs-1000 )

We need to have suitable 32 bit C-libraries such as provided emul-linux-x86 when merging glibc in the multilib 2005.0 profile, or it don't work.

I have tried the libs from emul-linux-x86.... with 20041102 glibc and no job. They had files on the download mirrors for this that someone above reported solved this issue! Those files have been deleted from the mirrors and I can't find anything on google. Can someone host those glibc-32 bit libs??

Cheers,

Luke
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64 All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum