This is the mail archive of the
crossgcc@sources.redhat.com
mailing list for the crossgcc project.
See the CrossGCC FAQ for lots
more information.
progress but not there: crosstool-0.32, OS X 10.4 ->i686, gcc-4.0-20050305-glibc-2.3.4
- From: Rob Arnold <rob at telanetix dot com>
- To: crossgcc at sources dot redhat dot com
- Date: Wed, 4 May 2005 11:20:38 -0700
- Subject: progress but not there: crosstool-0.32, OS X 10.4 ->i686, gcc-4.0-20050305-glibc-2.3.4
I've been trying to get a toolchain running using crosstool on OS X,
10.4 (Tiger) for a few days now. I've hit most of the problems
mentioned in the OS X threads, and got through them all eventually.
Now I have a new, improved problem :)
To recap where I've been so we know where we are heading:
Before attempting anything, installed the tools mentioned in the
crosstool howto mac os x section (used fink and darwinports, made
sure they were found first in path).
Tried a build (gcc4, glib 2.3.4 I think), got the hang checking for
version number of the assembler. Dug through what was happening
myself and found that apple's shipped as was waiting on input.
Control-D got past that and eventually errored out with the build
failing saying as and ld were too old. Dug around, found the apple
as patch discussed in this mailing list, and moved it forward to
2.3.4's patch dir. Now I could make it fail automatically without
typing Control-D :) The patch makes the check work, but apple's
shipped as is 1.38, far too old for the checked value.
I thought maybe I was being too aggressive, so went back to the last
message I could find that referenced a successful build. Was gcc
3.3.3 and glib ?? (old). I started that up and went for a long, long
time (guess the as and ld were within the allowed values that far
back), finally failed the next morning with an install error, at
which point I eventually found that discussed in an old message (the -
D flag problem). Not sure whether configures search for a decent
install should have just used it's fallback shell script or not, but
I punted and just installed the gnu install.
While digging around for that info, I saw the post yesterday
( http://sources.redhat.com/ml/crossgcc/2005-05/msg00029.html ) and
decided to try the newer versions again. I applied the glib patches
mentioned in that message (noted that all they do is disable the
checking though -- warning flags go off in my mind), couldn't find
the gcc patch.
Started a i686, gcc-4.0-20050305-glibc-2.3.4 build. Ran a long time,
but finally failed with this error:
../sysdeps/i386/i686/memcmp.S: Assembler messages:
../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve
`.rodata' {.rodata section} - `memcmp' {.text section}
The full command was:
i686-unknown-linux-gnu-gcc ../sysdeps/i386/i686/memcmp.S -c -I../
include -I. -I/Users/rarnold/devel/crosstool-0.32/build/i686-unknown-
linux-gnu/gcc-4.0-20050305-glibc-2.3.4/build-glibc/string -I.. -I../
libio -I/Users/rarnold/devel/crosstool-0.32/build/i686-unknown-linux-
gnu/gcc-4.0-20050305-glibc-2.3.4/build-glibc -I../sysdeps/i386/elf -
I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/
sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../
sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/
sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/
sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/
linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/
mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/
unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/
i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32
-I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/
ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../
sysdeps/generic -nostdinc -isystem /opt/crosstool/i686-unknown-linux-
gnu/gcc-4.0-20050305-glibc-2.3.4/lib/gcc/i686-unknown-linux-gnu/4.0.0/
include -isystem /opt/crosstool/i686-unknown-linux-gnu/
gcc-4.0-20050305-glibc-2.3.4/i686-unknown-linux-gnu/include -
D_LIBC_REENTRANT -include ../include/libc-symbols.h -
DASSEMBLER -DGAS_SYNTAX -Wa,--noexecstack -o /Users/rarnold/devel/
crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0-20050305-
glibc-2.3.4/build-glibc/string/memcmp.o -MD -MP -MF /Users/rarnold/
devel/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0-20050305-
glibc-2.3.4/build-glibc/string/memcmp.o.dt -MT /Users/rarnold/devel/
crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0-20050305-
glibc-2.3.4/build-glibc/string/memcmp.o
../sysdeps/i386/i686/memcmp.S: Assembler messages:
../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve
`.rodata' {.rodata section} - `memcmp' {.text section}
make[2]: *** [/Users/rarnold/devel/crosstool-0.32/build/i686-unknown-
linux-gnu/gcc-4.0-20050305-glibc-2.3.4/build-glibc/string/memcmp.o]
Error 1
make[1]: *** [string/subdir_lib] Error 2
make: *** [lib] Error 2
At this point, it's building with the generated compiler and
assembler, right? So I'm puzzled at why this error would pop up. I
google'd for a reference to it, but only found a couple of 1 year old
references to this error, and they were not for the same versions of
gcc and glib so wasn't sure of their relevance.
http://www.rocklinux.net/lurker/message/20040521.142508.80214165.html
So... any ideas? I'll probably go back and try older versions, but
wanted to document things thus far just as a datapoint for others
trying the same thing, and of course will hope someone out there has
an idea for resolution.
Thanks,
Rob
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com