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]

Re: Crosscompiler: gcc 3.1 on linux for sparc ?


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 13 June 2002 13:40, Kai Ruottu wrote:
> 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 !!!

Ok, now I have chosen the same prefix: /opt/sparc-canadian-cross

>
>  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...
>

Now I left those statements out.

> > 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 !

I have got them both - includes and libs from the native machine and copied 
them to
/opt/sparc-canadian-cross/sparc-solaris/include
and they are found.

>
> > /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...
>

Now I still have a problem.

During compilation of libstdc++ for the target in
sparc-solaris/libstdc++-v3/src
I get the following error.

Does anyone know how to solve this?

/home3/nardmann/gcc-3.1.objdir2/gcc/xgcc -shared-libgcc 
- -B/home3/nardmann/gcc-3.1.objdir2/gcc/ -nostdinc++ 
- -L/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/src 
- -L/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/src/.libs 
- -B/opt/sparc-canadian-cross/sparc-solaris/bin/ 
- -B/opt/sparc-canadian-cross/sparc-solaris/lib/ -isystem 
/opt/sparc-canadian-cross/sparc-solaris/include -nostdinc++ 
- -I/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/sparc-solaris 
- -I/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include 
- -I/home3/nardmann/gcc-3.1/libstdc++-v3/libsupc++ 
- -I/home3/nardmann/gcc-3.1/libstdc++-v3/libmath -g -O2 -fno-implicit-templates 
- -Wall -Wno-format -W -Wwrite-strings -Winline 
- -fdiagnostics-show-location=once -g -c 
/home3/nardmann/gcc-3.1/libstdc++-v3/src/globals.cc  -fPIC -DPIC
In file included from 
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/sparc-solaris/bits/gthr.h:98,
                 from /home3/nardmann/gcc-3.1/libstdc++-v3/src/globals.cc:29:
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/sparc-solaris/bits/gthr-default.h: 
In
   function `int __gthread_key_create(__gthread_key_t*, void (*)(void*))':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/sparc-solaris/bits/gthr-default.h:413: 
warning: assignment
    of negative value `-1' to `unsigned int'
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/sparc-solaris/bits/gthr-default.h:413: 
warning: argument
    of negative value `-1' to `unsigned int'
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/sparc-solaris/bits/gthr-default.h:414: 
warning: comparison
   between signed and unsigned integer expressions
In file included from 
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/bits/locale_facets.tcc:41,
                 from 
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/locale:46,
                 from 
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/bits/istream.tcc:37,
                 from 
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/istream:287,
                 from 
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/fstream:45,
                 from /home3/nardmann/gcc-3.1/libstdc++-v3/src/globals.cc:30:
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::acos(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:106: 
`::
   acosf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::asin(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:126: 
`::
   asinf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::atan(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:144: 
`::
   atanf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::atan2(float, float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:162: 
`::
   atan2f' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::ceil(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:182: 
`::
   ceilf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::cosh(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:210: 
`::
   coshf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::exp(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:228: 
`::
   expf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::floor(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:256: 
`::
   floorf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::fmod(float, float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:274: 
`::
   fmodf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::frexp(float, int*)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:294: 
`::
   frexpf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::ldexp(float, int)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:313: 
`::
   ldexpf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::log(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:333: 
`::
   logf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::log10(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:351: 
`::
   log10f' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::pow(float, float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:408: 
`::
   powf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::sinh(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:450: 
`::
   sinhf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::tan(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:478: 
`::
   tanf' undeclared (first use here)
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath: In
   function `float std::tanh(float)':
/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/include/cmath:496: 
`::
   tanhf' undeclared (first use here)
make[3]: *** [globals.lo] Error 1
make[3]: Leaving directory 
`/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
`/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory 
`/home3/nardmann/gcc-3.1.objdir2/sparc-solaris/libstdc++-v3'
make: *** [all-target-libstdc++-v3] Error 2

- -- 
Heiko Nardmann (Dipl.-Ing.), h.nardmann@secunet.de, Software Development
secunet Security Networks AG - Sicherheit in Netzwerken (www.secunet.de),
Weidenauer Str. 223-225, D-57076 Siegen
Tel. : +49 271 48950-13, Fax  : +49 271 48950-50
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEUEARECAAYFAj0S0zoACgkQpm53PRScYyhEfgCePjMO8BM9O8cu/iSDUWWE8hWj
OacAmKLnrgqI0RxGeo9VrA/Ad138SqA=
=NVNB
-----END PGP SIGNATURE-----

------
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]