View previous topic :: View next topic |
Author |
Message |
JDHarris n00b
Joined: 24 Oct 2004 Posts: 45
|
Posted: Wed Jan 19, 2005 2:41 am Post subject: 2005.0 GCC 3.4.3-r1 Compile Error - invalid assembler? |
|
|
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 |
|
|
moocha Watchman
Joined: 21 Oct 2003 Posts: 5722
|
Posted: Wed Jan 19, 2005 4:05 am Post subject: |
|
|
_________________ 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 |
|
|
Moonlight-Flower Tux's lil' helper
Joined: 15 Sep 2003 Posts: 135
|
Posted: Wed Jan 19, 2005 10:25 am Post subject: |
|
|
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 |
|
|
fredor Tux's lil' helper
Joined: 13 Oct 2003 Posts: 84 Location: UK
|
Posted: Wed Jan 19, 2005 11:46 am Post subject: |
|
|
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 |
|
|
JDHarris n00b
Joined: 24 Oct 2004 Posts: 45
|
Posted: Wed Jan 19, 2005 8:46 pm Post subject: |
|
|
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 |
|
|
Loial n00b
Joined: 24 Mar 2003 Posts: 29
|
Posted: Mon Jan 24, 2005 10:38 am Post subject: multilib |
|
|
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 |
|
|
robet l33t
Joined: 06 Sep 2004 Posts: 807 Location: Earth/NorthAmerica/USA/NY
|
|
Back to top |
|
|
Moonlight-Flower Tux's lil' helper
Joined: 15 Sep 2003 Posts: 135
|
Posted: Tue Jan 25, 2005 1:06 pm Post subject: |
|
|
robet wrote: | Same issue here, fixed it with "env-update && source /etc/profile". |
Just tried that out... didn't help... |
|
Back to top |
|
|
Loial n00b
Joined: 24 Mar 2003 Posts: 29
|
|
Back to top |
|
|
Moonlight-Flower Tux's lil' helper
Joined: 15 Sep 2003 Posts: 135
|
Posted: Tue Jan 25, 2005 2:00 pm Post subject: |
|
|
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 |
|
|
Moonlight-Flower Tux's lil' helper
Joined: 15 Sep 2003 Posts: 135
|
Posted: Wed Jan 26, 2005 1:39 pm Post subject: |
|
|
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 |
|
|
tcbounce Tux's lil' helper
Joined: 18 Nov 2003 Posts: 86 Location: South Korea
|
Posted: Wed Feb 09, 2005 8:47 am Post subject: glibc-lib32 removed from gentoo mirrors. |
|
|
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 |
|
|
ketjow Guru
Joined: 01 Apr 2004 Posts: 382 Location: Krakow, Poland
|
Posted: Wed Feb 09, 2005 7:06 pm Post subject: |
|
|
what's the difference between -march=k8 and -march=athlon64 ?? |
|
Back to top |
|
|
moocha Watchman
Joined: 21 Oct 2003 Posts: 5722
|
Posted: Wed Feb 09, 2005 8:04 pm Post subject: |
|
|
ketjow wrote: | 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 |
|
|
tcbounce Tux's lil' helper
Joined: 18 Nov 2003 Posts: 86 Location: South Korea
|
Posted: Thu Feb 10, 2005 3:25 am Post subject: bump |
|
|
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 |
|
|
|