public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Cross Compiler Host MinGW Target PowerPC
@ 2006-11-10 15:26 Sebastian Ebenbeck
  2006-11-10 15:48 ` John Love-Jensen
  0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Ebenbeck @ 2006-11-10 15:26 UTC (permalink / raw)
  To: gcc-help

Hello I need Your HELP,

I try to compile a cross compiler.

Host System: PC MinGW
Compiler: gcc.exe (GCC) 3.4.2 (mingw-special)
Target System: powerpc-405-eabi

Configuration: "./configure --prefix=/home/seb/ppc
--target=powerpc-405-eabi"
The configuration works but I get a warning:
*** This configuration is not supported in the following subdirectories:
     target-libmudflap target-libffi target-boehm-gc target-zlib
target-libjava target-libada gnattools target-libgfortran
I think thats not important ??

Compilation: "make"
I got the following errors:
make[4]: Leaving directory `/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc'
/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc/xgcc
-B/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc/
-B/home/seb/ppc/powerpc-405-eabi/bin/
-B/home/seb/ppc/powerpc-405-eabi/lib/ -isystem
/home/seb/ppc/powerpc-405-eabi/include -isystem
/home/seb/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  -isystem ./include
-specs=ldblspecs -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-Dinhibit_libc -I. -I -I../.././gcc -I../.././gcc/
-I../.././gcc/../include -I./../intl -I../.././gcc/../libcpp/include
-mrelocatable-lib -mno-eabi -mstrict-align -DL_muldi3 -c
../.././gcc/libgcc2.c -o libgcc/./_muldi3.o
In file included from ../.././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
In file included from ../.././gcc/libgcc2.c:43:
../.././gcc/libgcc2.h:214:3: error: #error "expand the table"
../.././gcc/libgcc2.c: In function '__mulhi3':
../.././gcc/libgcc2.c:514: error: 'BITS_PER_UNIT' undeclared (first use
in this function)
../.././gcc/libgcc2.c:514: error: (Each undeclared identifier is
reported only once
../.././gcc/libgcc2.c:514: error: for each function it appears in.)
make[3]: *** [libgcc/./_muldi3.o] Error 1
make[3]: Leaving directory `/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/seb/gcc-4.1.1'
make: *** [all] Error 2

The file: "./gcc/config/rs6000/rs6000.h" exits. But it seams to be in
the wrong directory.
I get the following errors if I copy
the folder "./gcc/config" to "./host-i686-pc-mingw32/gcc/"
and the file "./gcc/defaults.h" to "./host-i686-pc-mingw32/gcc/"
then run "make" again:
make[4]: Leaving directory `/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc'
/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc/xgcc
-B/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc/
-B/home/seb/ppc/powerpc-405-eabi/bin/
-B/home/seb/ppc/powerpc-405-eabi/lib/ -isystem
/home/seb/ppc/powerpc-405-eabi/include -isystem
/home/seb/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  -isystem ./include
-specs=ldblspecs -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-Dinhibit_libc -I. -I -I../.././gcc -I../.././gcc/
-I../.././gcc/../include -I./../intl -I../.././gcc/../libcpp/include
-mrelocatable-lib -mno-eabi -mstrict-align -DL_muldi3 -c
../.././gcc/libgcc2.c -o libgcc/./_muldi3.o
xgcc.exe: _spawnvp: No such file or directory
make[3]: *** [libgcc/./_muldi3.o] Error 1
make[3]: Leaving directory `/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/home/seb/gcc-4.1.1/host-i686-pc-mingw32/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/seb/gcc-4.1.1'
make: *** [all] Error 2

Now I don't know what to do.
I have tried to compile other versions of gcc (3.3.2, 3.4.6) with no
success.

Please Help!

Sebastian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-10 15:26 Cross Compiler Host MinGW Target PowerPC Sebastian Ebenbeck
@ 2006-11-10 15:48 ` John Love-Jensen
  2006-11-20 11:04   ` Sebastian Ebenbeck
  0 siblings, 1 reply; 10+ messages in thread
From: John Love-Jensen @ 2006-11-10 15:48 UTC (permalink / raw)
  To: Sebastian Ebenbeck, MSX to GCC

Hi Sebastian,

Rule #1: do not ./configure in the same directory as the GCC source.

Rule #2: do not ../configure from any subdirectory within the GCC source.

Rule #3: if Rule #1 or Rule #2 is violated, your source directory is tainted
and needs to be deleted and un'tar'd fresh.

Make a peer directory to the GCC source.  Then ../gcc-source/configure from
there.

HTH,
--Eljay

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-10 15:48 ` John Love-Jensen
@ 2006-11-20 11:04   ` Sebastian Ebenbeck
  2006-11-20 11:39     ` Brian Dessent
  0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Ebenbeck @ 2006-11-20 11:04 UTC (permalink / raw)
  To: MSX to GCC

Hello,

Thank you for your help!
I have read some good informations in the Web and use now a combined 
build tree.
So I am able to compile the GCC in Linux now!
Today I tried the same procedure in MinGW and fail.

Output after "make":
...
echo "\"/home/seb/combined/gcc/c-objc-common.c\", " >> tmp-gtyp.h
echo "\"/home/seb/combined/gcc/c-parser.c\", " >> tmp-gtyp.h
echo " NULL};" >> tmp-gtyp.h
echo "static const char *const lang_dir_names[] = { \"c\", " >> tmp-gtyp.h
echo "\"cp\", " >> tmp-gtyp.h
echo "NULL};" >> tmp-gtyp.h
/bin/sh /home/seb/combined/gcc/../move-if-change tmp-gtyp.h gtyp-gen.h
echo timestamp > s-gtyp-gen
gcc -c   -g -O2  -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-Wmissing-format-attribute    -DHAVE_CONFIG_H -DGENERATOR_FILE -I. 
-Ibuild -I/home/seb/combined/gcc -I/home/seb/combined/gcc/build 
-I/home/seb/combined/gcc/../include -I./../intl 
-I/home/seb/combined/gcc/../libcpp/include     -o build/gengtype.o 
/home/seb/combined/gcc/gengtype.c
gcc -c   -g -O2  -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-Wmissing-format-attribute  -Wno-error  -DHAVE_CONFIG_H -DGENERATOR_FILE 
-I. -Ibuild -I/home/seb/combined/gcc -I/home/seb/combined/gcc/build 
-I/home/seb/combined/gcc/../include -I./../intl 
-I/home/seb/combined/gcc/../libcpp/include     -o build/gengtype-lex.o 
/home/seb/combined/gcc/gengtype-lex.c
gengtype-lex.c:3400: warning: no previous prototype for 'yyget_lineno'
gengtype-lex.c:3409: warning: no previous prototype for 'yyget_in'
gengtype-lex.c:3417: warning: no previous prototype for 'yyget_out'
gengtype-lex.c:3425: warning: no previous prototype for 'yyget_leng'
gengtype-lex.c:3434: warning: no previous prototype for 'yyget_text'
gengtype-lex.c:3443: warning: no previous prototype for 'yyset_lineno'
gengtype-lex.c:3455: warning: no previous prototype for 'yyset_in'
gengtype-lex.c:3460: warning: no previous prototype for 'yyset_out'
gengtype-lex.c:3465: warning: no previous prototype for 'yyget_debug'
gengtype-lex.c:3470: warning: no previous prototype for 'yyset_debug'
gengtype-lex.c:3476: warning: no previous prototype for 'yylex_destroy'
gcc -c   -g -O2  -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-Wmissing-format-attribute  -Wno-error  -DHAVE_CONFIG_H -DGENERATOR_FILE 
-I. -Ibuild -I/home/seb/combined/gcc -I/home/seb/combined/gcc/build 
-I/home/seb/combined/gcc/../include -I./../intl 
-I/home/seb/combined/gcc/../libcpp/include     -o build/gengtype-yacc.o 
/home/seb/combined/gcc/gengtype-yacc.c
gcc   -g -O2  -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-Wmissing-format-attribute    -DHAVE_CONFIG_H -DGENERATOR_FILE  -o 
build/gengtype.exe \
 build/gengtype.o build/gengtype-lex.o build/gengtype-yacc.o \
 build/errors.o ../build-i686-pc-mingw32/libiberty/libiberty.a
build/gengtype.exe
/home/seb/combined/gcc/input.h: No such file or directory
make[2]: *** [s-gtype] Error 1
make[2]: Leaving directory `/home/seb/build/combined/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/seb/build/combined'
make: *** [all] Error 2



The output from "ls -l /home/seb/combined/gcc/input.h"
-rw-r--r--    2 seb      Administ     2896 Jun 25  2005 
/home/seb/combined/gcc/input.h



The output from "cat -n /home/seb/combined/gcc/input.h"
     1  /* Declarations for variables relating to reading the source file.
     2     Used by parsers, lexical analyzers, and error message routines.
     3     Copyright (C) 1993, 1997, 1998, 2000, 2003, 2004 Free 
Software Foundation, Inc.
     4 
     5  This file is part of GCC.
     6 
     7  GCC is free software; you can redistribute it and/or modify it under
     8  the terms of the GNU General Public License as published by the Free
     9  Software Foundation; either version 2, or (at your option) any later
    10  version.
    11 
    12  GCC is distributed in the hope that it will be useful, but 
WITHOUT ANY
    13  WARRANTY; without even the implied warranty of MERCHANTABILITY or
    14  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public 
License
    15  for more details.
    16 
    17  You should have received a copy of the GNU General Public License
    18  along with GCC; see the file COPYING.  If not, write to the Free
    19  Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
    20  02110-1301, USA.  */
    21 
    22  #ifndef GCC_INPUT_H
    23  #define GCC_INPUT_H
    24 
    25  #include "line-map.h"
    26  extern struct line_maps line_table;
    27 
    28  /* The location for declarations in "<built-in>" */
    29  #define BUILTINS_LOCATION ((source_location) 2)
...



I don't now why the compile process think that the file does not exist.


Please Help!

Sebastian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-20 11:04   ` Sebastian Ebenbeck
@ 2006-11-20 11:39     ` Brian Dessent
  2006-11-20 11:57       ` Brian Dessent
  0 siblings, 1 reply; 10+ messages in thread
From: Brian Dessent @ 2006-11-20 11:39 UTC (permalink / raw)
  To: Sebastian Ebenbeck; +Cc: MSX to GCC

Sebastian Ebenbeck wrote:

> Thank you for your help!
> I have read some good informations in the Web and use now a combined
> build tree.
> So I am able to compile the GCC in Linux now!
> Today I tried the same procedure in MinGW and fail.

You need to provide more information.  What *exact* configure command
are you using, specifically what are you providing for --host, --build,
--target, and --prefix?  What is the build host, MSYS or Cygwin?  Are
you providing a relative path to the location of configure or an
absolute path?

> build/gengtype.exe
> /home/seb/combined/gcc/input.h: No such file or directory

Here it looks like you have a mingw program trying to access posix
paths.  That won't work, mingw programs need to use win32 paths.

> The output from "ls -l /home/seb/combined/gcc/input.h"
> -rw-r--r--    2 seb      Administ     2896 Jun 25  2005
> /home/seb/combined/gcc/input.h

This works because ls is a MSYS or Cygwin app, not a native app, so it
understands posix paths and knows how to map /home/seb to a Windows
path.  Or at least that's my guess, because you didn't give enough
information to know for sure. 

Brian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-20 11:39     ` Brian Dessent
@ 2006-11-20 11:57       ` Brian Dessent
  2006-11-20 13:35         ` Kai Ruottu
                           ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Brian Dessent @ 2006-11-20 11:57 UTC (permalink / raw)
  To: gcc-help; +Cc: Sebastian Ebenbeck

Brian Dessent wrote:

> > I have read some good informations in the Web and use now a combined
> > build tree.
> > So I am able to compile the GCC in Linux now!
> > Today I tried the same procedure in MinGW and fail.
> 
> You need to provide more information.  What *exact* configure command
> are you using, specifically what are you providing for --host, --build,
> --target, and --prefix?  What is the build host, MSYS or Cygwin?  Are
> you providing a relative path to the location of configure or an
> absolute path?
> 
> > build/gengtype.exe
> > /home/seb/combined/gcc/input.h: No such file or directory
> 
> Here it looks like you have a mingw program trying to access posix
> paths.  That won't work, mingw programs need to use win32 paths.

Just to clarify, the reason that MinGW can be a difficult host is
because the build tools (MSYS) understand posix paths but native MinGW
binaries do not.  This means that you have to be careful that all paths
that are compiled into binaries/headers (such as in specs or the build
helper programs like gengtype) are either relative paths or win32 paths
(c:/foo/bar).

In the case above it looks like you've got a gengtype.exe that
apparently got a posix-style absolute path leaked into it somewhere.  So
you have to ensure that the $srcdir, $builddir, $prefix etc. in the
Makefile end up as either relative paths or win32 paths.  $srcdir gets
set based on the path used to invoke configure, which is why the
particulars of how you do this can matter greatly on MinGW.

It would be a lot easier to instead use Cygwin as the host for a cross
compiler because you don't have to worry about any of this, as all
Cygwin binaries understand posix paths so there is none of this
"cognitive dissonance" between the build system and the actual binaries.

Brian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-20 11:57       ` Brian Dessent
@ 2006-11-20 13:35         ` Kai Ruottu
  2006-11-20 14:39         ` Sebastian Ebenbeck
  2006-11-21 11:01         ` Sebastian Ebenbeck
  2 siblings, 0 replies; 10+ messages in thread
From: Kai Ruottu @ 2006-11-20 13:35 UTC (permalink / raw)
  To: gcc-help; +Cc: Sebastian Ebenbeck

Brian Dessent kirjoitti:
>>> So I am able to compile the GCC in Linux now!
>>> Today I tried the same procedure in MinGW and fail.
>>>       
 As a "build factory" Linux is quite working...  But Windoze isn't :-(

> Just to clarify, the reason that MinGW can be a difficult host is
> because the build tools (MSYS) understand posix paths but native MinGW
> binaries do not.  This means that you have to be careful that all paths
> that are compiled into binaries/headers (such as in specs or the build
> helper programs like gengtype) are either relative paths or win32 paths
> (c:/foo/bar).
>
>   

> It would be a lot easier to instead use Cygwin as the host for a cross
> compiler because you don't have to worry about any of this, as all
> Cygwin binaries understand posix paths so there is none of this
> "cognitive dissonance" between the build system and the actual binaries.
>   
 Or simply use Linux as the $build system !   At least Debian provides a 
Linux-to-MinGW cross-
toolchain as prebuilt just as it provides a Linux-to-Linux native 
toolchain...  Seemingly also cross-
toolchains for other Debian-supported Linux architectures!

 Running text-mode Linux apps made for Debian Linux should succeed also 
on other distros, I
once tried the Debian's gcc-3.4 for MinGW on SuSE 9.2 and there was no 
problems.  The
problem can be with the '.deb' package, one not guessing how to unpack 
it. But if we use the
name "archive", the clue is in this. The '.deb' packages are archives 
created with 'ar' and in them
are the 'data.tar.gz' packages which everyone should be capable to 
unpack somewhere !

I myself have produced hundreds of Cygwin and MinGW-hosted toolchains 
but never any of them
on Windoze...  IMHO Windoze is both horribly slow (4-6 times slower 
being reported many times
by those who have compared Linux and Cygwin) and very "weird" as a 
"Unix-like" build platform,
it really isn't "identical with a Unix", not a "plug and play Unix"  
like Linux....

But when running binutils, GCC, Insight-GDB, make etc.  "compiling and 
debugging tools" on
Windoze, one usually don't need to be inside the build factory just as a 
car doesn't need to be
used inside the car factory, the plain road may be enough....  So things 
like MSYS and Cygwin
can be totally vain.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-20 11:57       ` Brian Dessent
  2006-11-20 13:35         ` Kai Ruottu
@ 2006-11-20 14:39         ` Sebastian Ebenbeck
  2006-11-21 11:42           ` Brian Dessent
  2006-11-21 11:01         ` Sebastian Ebenbeck
  2 siblings, 1 reply; 10+ messages in thread
From: Sebastian Ebenbeck @ 2006-11-20 14:39 UTC (permalink / raw)
  To: gcc-help

Brian Dessent schrieb:
> Brian Dessent wrote:
>
>   
>>> I have read some good informations in the Web and use now a combined
>>> build tree.
>>> So I am able to compile the GCC in Linux now!
>>> Today I tried the same procedure in MinGW and fail.
>>>       
>> You need to provide more information.  What *exact* configure command
>> are you using, specifically what are you providing for --host, --build,
>> --target, and --prefix?  What is the build host, MSYS or Cygwin?  Are
>> you providing a relative path to the location of configure or an
>> absolute path?
>>
>>     
>>> build/gengtype.exe
>>> /home/seb/combined/gcc/input.h: No such file or directory
>>>       
>> Here it looks like you have a mingw program trying to access posix
>> paths.  That won't work, mingw programs need to use win32 paths.
>>     
>
> Just to clarify, the reason that MinGW can be a difficult host is
> because the build tools (MSYS) understand posix paths but native MinGW
> binaries do not.  This means that you have to be careful that all paths
> that are compiled into binaries/headers (such as in specs or the build
> helper programs like gengtype) are either relative paths or win32 paths
> (c:/foo/bar).
>
> In the case above it looks like you've got a gengtype.exe that
> apparently got a posix-style absolute path leaked into it somewhere.  So
> you have to ensure that the $srcdir, $builddir, $prefix etc. in the
> Makefile end up as either relative paths or win32 paths.  $srcdir gets
> set based on the path used to invoke configure, which is why the
> particulars of how you do this can matter greatly on MinGW.
>
> It would be a lot easier to instead use Cygwin as the host for a cross
> compiler because you don't have to worry about any of this, as all
> Cygwin binaries understand posix paths so there is none of this
> "cognitive dissonance" between the build system and the actual binaries.
>
> Brian
>
>
>   
Thank you Brian,

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

...
cat ../../../combined/gcc/config/rs6000/crtsavres.asm >crtsavres.S
/home/seb/build/combined/./gcc/xgcc -B/home/seb/build/combined/./gcc/ 
-nostdinc -B/home/seb/build/combined/powerpc-405-eabi/newlib/ -isystem 
/home/seb/build/combined/powerpc-405-eabi/newlib/targ-include -isystem 
/home/seb/combined/newlib/libc/include 
-B/usr/local/powerpc-405-eabi/bin/ -B/usr/local/powerpc-405-eabi/lib/ 
-isystem /usr/local/powerpc-405-eabi/include -isystem 
/usr/local/powerpc-405-eabi/sys-include -O2 -g -O2   -DIN_GCC 
-DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -I. -I. 
-I../../../combined/gcc -I../../../combined/gcc/. 
-I../../../combined/gcc/../include -I./../intl 
-I../../../combined/gcc/../libcpp/include  -mrelocatable-lib -mno-eabi 
-mstrict-align -c crtsavres.S -o crtsavres.o
make[4]: Leaving directory `/home/seb/build/combined/gcc'
/home/seb/build/combined/./gcc/xgcc -B/home/seb/build/combined/./gcc/ 
-nostdinc -B/home/seb/build/combined/powerpc-405-eabi/newlib/ -isystem 
/home/seb/build/combined/powerpc-405-eabi/newlib/targ-include -isystem 
/home/seb/combined/newlib/libc/include 
-B/usr/local/powerpc-405-eabi/bin/ -B/usr/local/powerpc-405-eabi/lib/ 
-isystem /usr/local/powerpc-405-eabi/include -isystem 
/usr/local/powerpc-405-eabi/sys-include -O2  -O2 -g -O2   -DIN_GCC 
-DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition  -isystem ./include   
-specs=ldblspecs -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED 
-Dinhibit_libc -I. -I -I../../../combined/gcc -I../../../combined/gcc/ 
-I../../../combined/gcc/../include -I./../intl 
-I../../../combined/gcc/../libcpp/include  -mrelocatable-lib -mno-eabi 
-mstrict-align -DL_muldi3 -c ../../../combined/gcc/libgcc2.c -o 
libgcc/./_muldi3.o
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
In file included from ../../../combined/gcc/libgcc2.c:43:
../../../combined/gcc/libgcc2.h:214:3: error: #error "expand the table"
../../../combined/gcc/libgcc2.c: In function '__mulhi3':
../../../combined/gcc/libgcc2.c:514: error: 'BITS_PER_UNIT' undeclared 
(first use in this function)
../../../combined/gcc/libgcc2.c:514: error: (Each undeclared identifier 
is reported only once
../../../combined/gcc/libgcc2.c:514: error: for each function it appears 
in.)
make[3]: *** [libgcc/./_muldi3.o] Error 1
make[3]: Leaving directory `/home/seb/build/combined/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/home/seb/build/combined/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/seb/build/combined'
make: *** [all] Error 2


Result of "ls -l /home/seb/combined/gcc/config/rs6000/rs6000.h"
-rw-r--r--    2 seb      Administ   110375 Apr 13  2006 
/home/seb/combined/gcc/config/rs6000/rs6000.h

Is this the same error again?
If yes, how can I make relative paths on configuration?

Sebastian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-20 11:57       ` Brian Dessent
  2006-11-20 13:35         ` Kai Ruottu
  2006-11-20 14:39         ` Sebastian Ebenbeck
@ 2006-11-21 11:01         ` Sebastian Ebenbeck
  2 siblings, 0 replies; 10+ messages in thread
From: Sebastian Ebenbeck @ 2006-11-21 11:01 UTC (permalink / raw)
  To: gcc-help

Hello,

I found out something.

The make process try to execute:
/home/seb/build/combined/./gcc/xgcc -B/home/seb/build/combined/./gcc/ 
-nostdinc -B/home/seb/build/combined/powerpc-405-eabi/newlib/ -isystem 
/home/seb/build/combined/powerpc-405-eabi/newlib/targ-include -isystem 
/home/seb/combined/newlib/libc/include 
-B/usr/local/powerpc-405-eabi/bin/ -B/usr/local/powerpc-405-eabi/lib/ 
-isystem /usr/local/powerpc-405-eabi/include -isystem 
/usr/local/powerpc-405-eabi/sys-include -O2 -O2 -g -O2 -DIN_GCC 
-DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition -isystem ./include 
-specs=ldblspecs -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc 
-I. -I -I../../../combined/gcc -I../../../combined/gcc/ 
-I../../../combined/gcc/../include -I./../intl 
-I../../../combined/gcc/../libcpp/include -mrelocatable-lib -mno-eabi 
-mstrict-align -DL_muldi3 -c ../../../combined/gcc/libgcc2.c -o 
libgcc/./_muldi3.o

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

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

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?
Sebastian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-20 14:39         ` Sebastian Ebenbeck
@ 2006-11-21 11:42           ` Brian Dessent
  2006-11-21 12:05             ` Brian Dessent
  0 siblings, 1 reply; 10+ messages in thread
From: Brian Dessent @ 2006-11-21 11:42 UTC (permalink / raw)
  To: Sebastian Ebenbeck; +Cc: gcc-help

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Cross Compiler Host MinGW Target PowerPC
  2006-11-21 11:42           ` Brian Dessent
@ 2006-11-21 12:05             ` Brian Dessent
  0 siblings, 0 replies; 10+ messages in thread
From: Brian Dessent @ 2006-11-21 12:05 UTC (permalink / raw)
  To: gcc-help; +Cc: Sebastian Ebenbeck

Brian Dessent wrote:

> `cd /home/seb/combined && pwd -W`/configure

Actually that's probably not a good idea, just use a relative path to
configure instead.

Brian

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-11-21 12:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-10 15:26 Cross Compiler Host MinGW Target PowerPC Sebastian Ebenbeck
2006-11-10 15:48 ` John Love-Jensen
2006-11-20 11:04   ` Sebastian Ebenbeck
2006-11-20 11:39     ` Brian Dessent
2006-11-20 11:57       ` Brian Dessent
2006-11-20 13:35         ` Kai Ruottu
2006-11-20 14:39         ` Sebastian Ebenbeck
2006-11-21 11:42           ` Brian Dessent
2006-11-21 12:05             ` Brian Dessent
2006-11-21 11:01         ` Sebastian Ebenbeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).