I've been having problems building a cross compiler for a s390x-suse-linux
system running SLES8 from a i686-redhat-linux system running Redhat 7.1

I made ones for SLES7 and SLES8 on the s390 that work just fine. I'm assuming
it's some 64bit/biarch issue.

binutils builds just fine. I've tried getting the includes and libraries from
both the CD and from a running s390x-suse-linux system. I'm applying all
the s390x patches for gcc that come in the source rpm on the SLES8 CD.  Most
recently, I configured gcc with

# ./configure --enable-threads=posix --prefix=/usr/local 
--enable-languages=c,c++,f77,objc --disable-libgcj --with-system-zlib --enable-shared 
--enable-__cxa_atexit --target=s390x-suse-linux i686-pc-linux-gnu

which looks like what the rpm spec file wants.  When I make it, I run into
a couple issues.  First, I get errors like this

/usr/local/s390x-suse-linux/bin/ld: skipping incompatible 
/usr/local/s390x-suse-linux/lib64/libc.so.6 when searching for 
/usr/local/s390x-suse-linux/lib64/libc.so.6
/usr/local/s390x-suse-linux/bin/ld: cannot find 
/usr/local/s390x-suse-linux/lib64/libc.so.6
collect2: ld returned 1 exit status
make[2]: *** [32/libgcc_s_32.so] Error 1
make[2]: Leaving directory `/usr/src/redhat/BUILD/gcc-3.2/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/usr/src/redhat/BUILD/gcc-3.2/gcc'
make: *** [all-gcc] Error 2


this all depends on what I have in /usr/local/s390x-suse-linux/lib/libc.so
If keep switching back and forth between

GROUP ( /usr/local/s390x-suse-linux/lib/libc.so.6 /usr/local/s390x-suse-linux/li
b/libc_nonshared.a )

and

GROUP ( /usr/local/s390x-suse-linux/libi64/libc.so.6 /usr/local/s390x-suse-linux
/libi64/libc_nonshared.a )

I can make it most of the way through compiling, although I'm sure this isn't
the correct thing to do, and it's probably related to my other problem.
Eventaully I get this error

checking whether the C compiler (/usr/src/redhat/BUILD/gcc-3.2/gcc/xgcc 
-B/usr/src/redhat/BUILD/gcc-3.2/gcc/ -B/usr/local/s390x-suse-linux/bin/ 
-B/usr/local/s390x-suse-linux/lib/ -isystem /usr/local/s390x-suse-linux/include -g -O2 
) works... no
configure: error: installation or configuration problem: C compiler cannot create 
executables.
make: *** [configure-target-libiberty] Error 1

And I can't get any further.  Any ideas.  Is there something I need to do
with the ld scripts to make a cross compiler for a biarch system?

Thanks.

-Ben

Benjamin E. Marzinski
[EMAIL PROTECTED]

Reply via email to