comp.lang.ada
 help / color / mirror / Atom feed
From: Cesar Rabak <csrabak@yahoo.com.br>
Subject: Re: GNAT on MinGW
Date: Sat, 03 Mar 2007 03:15:21 -0200
Date: 2007-03-03T03:15:21-02:00	[thread overview]
Message-ID: <esb02u$dgt$1@aioe.org> (raw)
In-Reply-To: 

Vo, Anh (US SSA) escreveu:
> 
> -----Original Message-----
> From: comp.lang.ada-bounces@ada-france.org
> [mailto:comp.lang.ada-bounces@ada-france.org] On Behalf Of Cesar Rabak
> Sent: Thursday, March 01, 2007 4:37 PM
> To: comp.lang.ada@ada-france.org
> Subject: Re: GNAT on MinGW
> 
> << [...]
>> Way back I successfully built GNAT using cygwin. The problem was that
>>  the GNAT built did not support tasking run-time because GNAT under 
>> cygwin, used to build the newer GNAT, does not have tasking run-time 
>> support. Therefore, any Ada codes involving task will not run.
>>
>> Currently, I port MinGW/GNAT to cygwin and build gcc/gnat-4.1.2 using
>>  cygwin. The build hit a snap after going one fourth of the way. I 
>> scratch my hair with error message as shown below. I would be
>> thankful if any one can tell me what headers it looks for.
>>
>> [...]
> [snipped]
> 
>> The directory that should contain system headers does not exist: 
>> /mingw/include make[2]: *** [stmp-fixinc] Error 1 make[2]: Leaving
>> directory `/cygdrive/e/build-4.1.2/gcc' make[1]: *** [stage1_build]
>> Error 2 make[1]: Leaving directory `/cygdrive/e/build-4.1.2/gcc' 
>> make: *** [bootstrap] Error 2
>>
> It seems it has a hardcode "/mingw/include" path in some config file or
> some source (probably a header file generated by ./configure).
> 
> My quick shot for testing the hypotesis would be to add in fstab file a 
> mapping for /mingw/include to /usr/gnat/mingw32/include (which IIUC is 
> your path to the system include files).
> 
> I did similar to your suggestion by copying /mingw/include/ to /cygwin.
> This fixed got my build go much further, about 2/3 of the way. Again, I
> encountered two additional showstoppers. I managed to get by, surprised
> myself, these problems. The latest showstopper, as shown below, is a bit
> harder. It has some thing to do with adainit.c file. By the way, I am
> using Window 2000 instead of Window XP. I hope there is no difference
> between them regarding this problem.
> 
> [...]
> make[4]: Entering directory `/cygdrive/e/build-4.1.2/gcc/ada'
> make -C rts \
>                 CC="`echo \"/cygdrive/e/build-4.1.2/./gcc/xgcc
> -B/cygdrive/e/bui
> ld-4.1.2/./gcc/ -B/usr/local/mingw32/bin/ -B/usr/local/mingw32/lib/
> -isystem /us
> r/local/mingw32/include -isystem /usr/local/mingw32/sys-include\" \
>                 | sed -e 's,^\./xgcc,../../xgcc,' -e
> 's,-B\./,-B../../,'`" \
>                 INCLUDES="-I. -I.. -I../..
> -I/cygdrive/e/gcc-4.1.2/gcc/ada -I/cy
> gdrive/e/gcc-4.1.2/gcc/ada/../config
> -I/cygdrive/e/gcc-4.1.2/gcc/ada/../../inclu
> de -I/cygdrive/e/gcc-4.1.2/gcc/ada/.. -I./../.." \
>                 CFLAGS="-g -O2  -fexceptions -DIN_RTS" \
>                 srcdir=/cygdrive/e/gcc-4.1.2/gcc/ada \
>                 -f ../Makefile adaint.o argv.o cio.o cstreams.o ctrl_c.o
> errno.o
>  exit.o raise.o sysdep.o aux-io.o init.o initialize.o seh_init.o cal.o
> final.o t
> racebak.o expect.o mkdir.o socket.o raise-gcc.o
> make[5]: Entering directory `/cygdrive/e/build-4.1.2/gcc/ada/rts'
> /cygdrive/e/build-4.1.2/./gcc/xgcc -B/cygdrive/e/build-4.1.2/./gcc/
> -B/usr/local
> /mingw32/bin/ -B/usr/local/mingw32/lib/ -isystem
> /usr/local/mingw32/include -isy
> stem /usr/local/mingw32/sys-include -c -DIN_GCC   `echo -g -O2
> -fexceptions -DI
> N_RTS |sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'`      -I. -I..
> -I../.. -I
> /cygdrive/e/gcc-4.1.2/gcc/ada -I/cygdrive/e/gcc-4.1.2/gcc/ada/../config
> -I/cygdr
> ive/e/gcc-4.1.2/gcc/ada/../../include -I/cygdrive/e/gcc-4.1.2/gcc/ada/..
> -I./../
> .. adaint.c \
>           -o adaint.o
> xgcc.exe: _spawnvp: No such file or directory

It seems the interim C compiler (xgcc.exe) was built in such a fashion 
the library for spanw* family of (C) functions was not linked in.

you can check this using 'nm'. Then, there are some things to try:

find in the makefile chain which one builds xgcc.exe and determine which 
library is being forgotten.

use another gcc as a replacement for xgcc in the makefile that builds 
adainit.o

These are interim solutions as obviouly these errors are symptoms of 
some configure not have worked flawlessly.




  reply	other threads:[~2007-03-03  5:15 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-23 12:07 recent changes in compiler pricing Georg Bauhaus
2007-02-23 13:04 ` Jeffrey Creem
2007-02-23 13:25 ` Markus E Leypold
2007-02-25  1:41   ` Jeffrey R. Carter
2007-02-25 14:03     ` Steve
2007-02-26  9:28       ` Maciej Sobczak
2007-02-26 10:37         ` Georg Bauhaus
2007-02-26 13:04       ` Stephen Leake
2007-02-28  2:27         ` Steve
2007-02-28  8:44           ` GNAT on MinGW Martin Krischik
2007-02-28 19:11             ` Michael Bode
2007-03-01  7:04               ` Martin Krischik
2007-03-01 16:56                 ` Vo, Anh (US SSA)
2007-03-01 20:15                   ` Martin Krischik
2007-03-02  0:36                   ` Cesar Rabak
2007-03-02 17:26                     ` Vo, Anh (US SSA)
2007-03-03  5:15                       ` Cesar Rabak [this message]
2007-03-02 12:38                   ` Fionn Mac Cumhaill
2007-03-02 17:55                     ` Vo, Anh (US SSA)
2007-03-03 10:09                       ` Simon Wright
2007-03-03 10:51                         ` Martin Krischik
2007-03-01 19:26                 ` Michael Bode
2007-03-01 20:27                   ` Martin Krischik
2007-03-02 18:39                     ` Michael Bode
2007-03-03 10:29                       ` Martin Krischik
2007-02-25 16:40     ` recent changes in compiler pricing Markus E Leypold
2007-02-26 17:22       ` dave.wood
2007-02-25 23:06     ` Yves Bailly
2007-02-28 10:04       ` Colin Paul Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox