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] |
"MEHTA,HIREN (A-SanJose,ex1)" wrote: > > Hi List, > > I am trying to build a cross compiler for ia64 system on i386 system. > I am following the same order for building the cross compiler as mentioned > in the FAQ at :http://www.objsw.com/CrossGCC/. First I built the binutils > without any problems. Then I started building gcc. I get the following > error : > -c ../../gcc-3.0.2/gcc/config/ia64/fde-glibc.c -o libgcc/./fde-glibc.o > ../../gcc-3.0.2/gcc/config/ia64/fde-glibc.c:42:3: #error You need GLIBC > 2.2.4 or later on IA-64 Linux > > I tried doing cross-compilation of glibc but that needs to the cross > compiler which I am trying to build. > > How do I fix this problem ? Any help is greatly appreciated. The 'gcc/Makefile' has a line or more like: LIBGCC = libgcc.a (or libgcc_s.so) and this requests it being built... So the solution is to leave this undone, temporalily, and edit these lines to be replaced with: # LIBGCC = libgcc.a (or libgcc_s.so) LIBGCC = Also the 'LIBGCC1_TEST = libgcc1-test' (or what it was) for testing must be edited to be empty... And then continue with the 'make all-gcc' to produce only GCC, now without producing the 'libgcc.a' and 'libgcc1-test'... And then install GCC with the 'make install-gcc', build glibc-2.2.4 and install it... And then try the 'libgcc.a', 'libgcc_s.so' etc. again, first taking back all those fixes to the 'gcc/Makefile'... Simple as a pie, but perhaps not so easy to find out without first knowing what the 'libgcc.a' is (only a library...). "If you cannot build something still unnecessary, don't try to build it", could be a golden rule in all these vain tries to build 'libiberty' etc. before the C-library (newlib or glibc) is ready... Now this could be extended to the 'libgcc.a' and 'libgcc_s.so' case with the 'gcc-3.0.x'... Perhaps there is a new '--disable-libgcc' option for configure already, but fixing the Makefile is the old workaround for these 'libgcc-unneeded'-cases. Or perhaps just creating some dummy and empty ones: $ >libgcc.a $ >libgcc_s.so or doing the same with 'touch', is enough... 'make' sees them already done, and is happy... Perhaps a 'touch libgcc2.ready' will also be needed... This a 'stamp'-file, like the 'stmp-multilib' for the targets with multilibs (versions for different CPUs and hard/soft-float settings)... These were the good news, but the bad news are that there can be problems in cross-compiling glibc-2.2.4 for 'ia64-linux'... And of course it is still unclear whether gcc-3.0.2 is suitable for glibc-compile at all... The '--disable-sanity-checks' must be used before the glibc-2.2.4-configure accepts the gcc-3.0.2... But some 'suitable' compiler must exist (gcc-2.96 in RedHat 7.2 distribution?)... Perhaps a little lazyness could be suggested: The "Install the target libs and headers, then build GCC"-method, ie. copying the ia64-libs and headers from the RedHat 7.2 or from some other 'ia64-linux' distribution, then using it while building GCC, then perhaps updating glibc (if it succeeds on a 32- bit cross-environment...), is always the easy case... At least this enables some us (like me) to continue in our lazyness and to not write long explanations about the possible workarounds in reinventing the wheel (ie. how to produce GCC without a glibc, when getting the prebuilt glibc should succeed quite easily ;-) Sorry, I am a little tired to all these 'I want to reinvent the wheel'-questions when writing about the Linux-targets, which shouldn't be hard at all in the libs and headers-issue, meanwhile it is very hard to find any libs and headers for targets like the Apple's 'OS X', SGI's Irix 6.x, HP's UX, IBM's AIX etc., without first purchasing the target system... So what could be the reason for not just downloading a glibc from a 'ia64-linux' distribution, or copying the needed target stuff from the target system, if it is available somewhere? BTW, has the FreeBSD-issue bettered at all, must a Linux-owner still download a 30+ Megabyte "FreeBSD Basic Install"-kit, in order to get the libs and headers for it? Anyone tried a Linux-x-FreeBSD cross-toolkit lately? I did this a couple of years ago with FreeBSD 3.0 or something, and then the FreeBSD target libs and headers weren't separately packaged, a'la libc-binaries for Linux... But OpenBSD and NetBSD were more 'open' and Linux-like in this issue... Cheers, Kai ------ 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] |