Re: Cross Compiler Host MinGW Target PowerPC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sebastian Ebenbeck wrote:

> now I am using relative paths. The Compile process runs much longer but
> fail again.
> 
> Configuration in dir: "/home/seb/build/combined"
> Source dir: "/home/seb/combined"
> 
> export srcdir=../../combined
> export builddir=.
> export prefix=../../bin/ppc
> ../../combined/configure --target=powerpc-405-eabi --with-newlib
> --disable-shared --disable-libssp --enable-languages=c,c++
> make

That looks wrong.  You shouldn't set those in the environment, instead
use --prefix=c:/foo/bar as argument to configure.  Same with srcdir, it
should be detected automatically from the configure invocation without
needing to be specified, or it can be supplied explicitly with --srcdir,
but not in the environment.

> In file included from ../../../combined/gcc/libgcc2.c:35:
> ./tm.h:5:35: error: config/rs6000/rs6000.h: No such file or directory
> ./tm.h:6:28: error: config/dbxelf.h: No such file or directory
> ./tm.h:7:27: error: config/elfos.h: No such file or directory
> ./tm.h:8:26: error: config/svr4.h: No such file or directory
> ./tm.h:9:34: error: config/freebsd-spec.h: No such file or directory
> ./tm.h:10:34: error: config/rs6000/sysv4.h: No such file or directory
> ./tm.h:11:33: error: config/rs6000/eabi.h: No such file or directory
> ./tm.h:12:23: error: defaults.h: No such file or directory

This looks like yet another path problem, perhaps relating to srcdir
being set in the environment.

> This fails because of wrong includes:
> -I. -I -I../../../combined/gcc -I../../../combined/gcc/  ...
>       ^
> There is a "-I" argument without a Path?

More path woes.

> If I try to compile it without the -I argument:
> /home/seb/build/combined/./gcc/xgcc -B/home/seb/build/combined/./gcc/
> -nostdinc -B/home/seb/build/combined/powerpc-405-e
> abi/newlib/ -isystem
> /home/seb/build/combined/powerpc-405-eabi/newlib/targ-include -isystem
> /home/seb/combined/newlib/libc
> /include -BC:/msys/home/seb/bin/ppc/powerpc-405-eabi/bin/
> -BC:/msys/home/seb/bin/ppc/powerpc-405-eabi/lib/ -isystem C:/msy
> s/home/seb/bin/ppc/powerpc-405-eabi/include -isystem
> C:/msys/home/seb/bin/ppc/powerpc-405-eabi/sys-include -O2  -O2 -g -O2
>    -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings
> -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -i
> system ./include   -specs=ldblspecs -g  -DIN_LIBGCC2
> -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I../../../combined/gcc -
> I../../../combined/gcc/ -I../../../combined/gcc/../include -I./../intl
> -I../../../combined/gcc/../libcpp/include  -mreloca
> table-lib -mno-eabi -mstrict-align -DL_muldi3 -c
> ../../../combined/gcc/libgcc2.c -o libgcc/./_muldi3.o
> 
> I get the error:
> xgcc.exe: _spawnvp: No such file or directory

This is even more of a mess, you've got both style paths mixed together:
-B/foo/bar and -BC:/foo/bar.

> I have taken a look into the Makefile and it seams that "libgcc2.c" is
> compiled with a wrong set of arguments.
> 
> I'm usually writing microcontroller software and I am not very familiar
> with such big makefiles.
> Can anybody help me, Please?

It looks like right now you're trying

--host=i686-pc-mingw32 --build=i686-pc-mingw32 --target=powerpc-405-eabi

I suggest that instead you install Cygwin and use that as host for the
toolchain:

--host=i686-pc-cygwin --build=i686-pc-cygwin --target=powerpc-405-eabi

or if you must have a MinGW hosted tool, do a canadian cross from Cygwin
or Linux:

--host=i686-pc-mingw32 --build=i686-pc-linux-gnu
--target=powerpc-405-eabi

If you absolutely have to have to use MinGW for both build and host,
then try invoking configure like so:

`cd /home/seb/combined && pwd -W`/configure --host=i686-pc-mingw32 \
  --build=i686-pc-mingw32 \
  --target=powerpc-405-eabi \
  --prefix=`cd /home/seb/bin/ppc && pwd -W` \
  --with-gcc \
  --with-gnu-as \
  --with-gnu-ld \
  --with-newlib \
  --disable-shared \
  --disable-libssp \
  --enable-languages=c,c++

The `cd /posix/path && pwd -W` is the MSYS idiom for getting a win32
path from a posix path.  If you use Cygwin or linux for the build system
then you don't have to muck with this because you can just use posix
paths everywhere.

Brian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux