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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

how to get a prebuilt glibc


Kai and the list,

It is a stupid question. But I really have no idea about the answer.

As Kai recommended in many messages in this list, a prebuilt glibc is necessary to build a bootstrap gcc before building a complete cross compiler. My target is powerpc-linux. Actually prebuilt glibc can be obtained from various sources, such as SuSE, YellowDog. But the problem is that these binary RPMs cannot be relocated. And I only have i686/RedHat hosts.

Well, I got target machine's header files and some libraries (lib?.a and *crt*.o) from HardHat 2.0 (MontaVista). But the target (ppc_8xx) is slightly different from what I use (powerpc-linux). And they are installed under $PREFIX/$TARGET/include and $PREFIX/$TARGET/lib, respectively. Unfortunately I still got some error when making the bootstrap gcc.

1. First, I didn't copy the libraries, as I remembered that only prebuilt glibc's header files are required as Kai mentioned in some message. Maybe I'm wrong. The following error messages show up. Well, this is easy to solve by copying all necessary libraries.

Making all in makeinfo
make[3]: Entering directory `/u/xjin/code/b2h-gcc/texinfo/makeinfo'
gcc -DHAVE_CONFIG_H -I. -I../../../gcc-2.95.3/texinfo/makeinfo -I.. -I../../../gcc-2.95.3/texinfo/lib -I../intl -DLOCALEDIR=\"/opt/xdev/gnuppc8xx/share/locale\" -g -O2 -c ../../../gcc-2.95.3/texinfo/makeinfo/makeinfo.c
gcc -DHAVE_CONFIG_H -I. -I../../../gcc-2.95.3/texinfo/makeinfo -I.. -I../../../gcc-2.95.3/texinfo/lib -I../intl -DLOCALEDIR=\"/opt/xdev/gnuppc8xx/share/locale\" -g -O2 -c ../../../gcc-2.95.3/texinfo/makeinfo/multi.c
gcc -g -O2 -o makeinfo makeinfo.o multi.o ../lib/libtxi.a
/opt/xdev/gnuppc8xx/powerpc-linux/bin/ld: cannot open crt1.o: No such file or directory
collect2: ld returned 1 exit status

2. After copying all necessary header files and libraries, I still got the error message.

gcc -c -DCROSS_COMPILE -DIN_GCC -DHAIFA -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc-2.95.3/gcc -I../../gcc-2.95.3/gcc/config -I../../gcc-2.95.3/gcc/../include \
../../gcc-2.95.3/gcc/gencheck.c
rm -f obstack.c
ln -s ../../gcc-2.95.3/gcc/../libiberty/obstack.c obstack.c
gcc -c -DCROSS_COMPILE -DIN_GCC -DHAIFA -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc-2.95.3/gcc -I../../gcc-2.95.3/gcc/config -I../../gcc-2.95.3/gcc/../include obstack.c
gcc -DCROSS_COMPILE -DIN_GCC -DHAIFA -g -O2 -DHAVE_CONFIG_H -o gencheck \
gencheck.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac `
./gencheck > tmp-check.h
/bin/sh: ./gencheck: cannot execute binary file
make[1]: *** [s-check] Error 126
make[1]: Leaving directory `/u/xjin/code/b2h-gcc/gcc'
make: *** [all-gcc] Error 2

The built gencheck cannot be run on the host. Is it in target format? Why?

Packages I used are gcc-2.95.3, binutils-2.12.1, and glibc-2.2.5. The configuration for gcc is
../gcc-2.95.3/configure --with-gcc-version-trigger=/u/xjin/code/gcc-2.95.3/gcc/version.c --host=i686-pc-linux-gnu --target=powerpc-linux --prefix=/opt/xdev/gnuppc8xx --disable-shared --with-headers=/opt/xdev/gnuppc8xx/powerpc-linux/include --enable-languages=c --norecursion

Thank you very much.

- Shawn.


------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]