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] |
Heiko Nardmann wrote: > > I have problems compiling gcc as a cross compiler. > > I successfully build binutils 2.12.1 using the following command line: > ./configure --host=i686-pc-linux-gnu --prefix=/opt/binutils-2.12.1 > - --target=sparcv9-solaris --enable-64-bit-bfd --enable-bfd-assembler > - --enable-commonbfdlib > > Now I configured gcc as follows: > env PATH=/opt/binutils-2.12.1/bin:$PATH ../gcc-3.1/configure > - --host=i686-pc-linux-gnu --prefix=/opt/sparc-crossgcc-3.1 --with-gnu-as > - --with-as=/opt/binutils-2.12.1/bin/sparcv9-solaris-as --with-gnu-ld > - --with-ld=/opt/binutils-2.12.1/bin/sparcv9-solaris-ld > - --enable-threads=solaris --target=sparcv9-solaris > > Is something wrong with this procedure? Yes, the value in '--prefix=' SHOULD ALWAYS BE THE SAME for binutils and GCC !!! And what on earth the 'sparcv9-solaris' means ? Is it Solaris2.7 or 2.8 or what ? I wouldn't let configure to guess... A 'sparcv9-solaris2.8' could be much more precise, please check the template in 'gcc/config.gcc' for your choice and into which it leads... Let's assume it guessed right... > Now I get the the error given as the attachment: > env PATH=/opt/binutils-2.12.1/bin:$PATH make >& make.out The '$prefix/bin' ie. '/opt/sparc-crossgcc-3.1/bin' in the GCC-case should be in the PATH, this is for the 'user-used' executables, but the 'GCC-used' binutils SHOULD be in '$prefix/$target/bin', ie. in '/opt/sparc-crossgcc-3.1/sparcv9-solaris/bin'... Then your '--with-as=' and '--with-ld=' options are vain... > It complains about missing abort(), missing thread.h and missing errno.h. You should have the 'sparcv9-solaris' headers preinstalled from the SUNWhea or something packages or copied from the target system... > /home3/nardmann/gcc-3.1.objdir/gcc/xgcc > -B/home3/nardmann/gcc-3.1.objdir/gcc/ > -B/opt/sparc-crossgcc-3.1/sparcv9-solaris/bin/ <---- !! > -B/opt/sparc-crossgcc-3.1/sparcv9-solaris/lib/ <---- !! > -isystem /opt/sparc-crossgcc-3.1/sparcv9-solaris/include <---- !! into the place ($prefix/$target/include) pointed by the '-isystem' option here... Please also see where the target binutils and target libs are expected to be ! > /home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:38:20: thread.h: Datei oder Verzeichnis nicht gefunden > /home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:39:19: errno.h: Datei oder Verzeichnis nicht gefunden These headers come with Solaris2, so please find them and install them, just as the Solaris2 libraries... Ok, these were the basic rules but the 64-bit sparcv9-solaris2 target will need deep understanding about the 64-bit target itself. I have the Solaris2.7 libs and headers but AFAIK there were only those 32-bit things, nothing for 'lib64' or something... Or I have missed something. 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] |