Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: Builindg GPS on windows 2000...: msg#00000

Subject: Re: Builindg GPS on windows 2000...
Hi Stephane,

Sorry for taking so long to get back to you. I hadn't even attempted building GPS on Windows for quite a while, but just did so last night.

I am afraid that I don't have all of the answers in an easy form right now because my development environment is very hacked together. The particular problem you are seeing below is from a syntax change in the C pre-processor or possibly a broken, untested feature in MinGW's gcc port. Cygwin is not necessary, but it might be easier.

Deep within GPS's maze of makefiles, you will find "gps/builder/src/ Makefile.generic". It defines the real commands used to compile C sources, and how to maintain dependencies. The command echoed to the screen is not the actual compilation command. I don't know why they (AdaCore) chose to complicate this like that. On about line 298 you should find the definition of DEP_CFLAGS. Change it to read:

DEP_CFLAGS = -MD -MF $(OBJ_DIR)/$(*F).pp

You will encounter other problems, but I am hesitant to say exactly what. One this that is likely on Windows is the system bitching that it can not recompile a-textio.adb once it finally starts building Ada files. This is due to a timestamp mismatch between gnat_src/s- crtl.ads and the compiler's internal library. I "fixed" that by using touch -r to copy the timestamps from the adalib copy to the new copy. I also had to hack about with the db library included with source navigator. There was a configuration problem where Arno's fix for Windows undefined types broke with later version of MinGW. I also had to remove "-fwritable-strings" from the tcl8.1 Makefile because my compiler simply does not support it.

Here's my environment:
Win XP SP2
mingw-runtime 3.7
w32api 3.2
bbinutils 2.15.94
MSYS 1.0.10
msysDtk 1.0.1

gcc 4.0.1 (prerelease 20050608) hacked to build. This required a SEH patch of an origin I don't recall.

GtkAda from CVS -rgps-3_0-branch  updated 20050630
XmlAda from CVS HEAD
gps    from CVS  -rgps-3_0-branch  updated 20050630
gcc/ada source from mainline last updated 20050516 I think. Probably should have updated these.

Gtk/glib from http://www.gimp.org/win32/
I didn't want to try building these huge number of dependencies without nice tools like Darwin ports or rpm.

If you have a choice, stick with Gtk 2.4.x for a while. I used 2.6.8 and had to edit a bunch of bindings on Windows. I'm not sure that I found all of them, because apparently the symbols aren't resolved until an application tries to link with them. I should audit the Gtk/ Glib headers for all the places where they decided to rename functions on windows via #define. For example "gdk_new_from_file" becomes "gdk_new_from_file_utf8" on Windows.

In any case I did get the thing to build be sticking at it. So far most things seem to work except that the "Emacs" theme is totally hosed, and building C++ projects adds an unsupported "-d" option to gprmake. If I am brave/bored I will try GPS mainline, although I'll probably try working on Macc OS X 10.4 first.

Good luck,
    Chris


On Apr 16, 2005, at 8:16 AM, stephane wrote:

Hi Chris,

I'm the maintainer of AIDE (Ada Instant Development Environment), see URL below. Planning for a completly new release, I wish to add some new features like cross platform target (Windows -> AVR-Atmel) and so, I had to rebuild GPS on windows 2000 with some patches around cross-platforms switchs...

AIDE use to compile almost every software in Ada, including complex GtkAda software like TestGtk, or even GVD (the GPS precursor). I've never seen a software I can't built with it except one : GPS. Arno Charlet told me to use Cygwin. I don't like Cygwin, but I tried, without success at all.

Usually, building Ada software is a pleasure. Unfortunatly, GPS doesn't fit in this perspective : the GPS build process is amazingly complex. I've succeeded to build cross-platform gcc compilers and debuggers and I can't succeed to build an Ada high level software : very disapointing.

Browsing the low-traffic GPS dev mailing list archives from the begining, it seems you are the one who succeeded to build GPS on windows 2000, (however, with some problems).

I use :

MinGW-3.2.0-rc-3 (gcc 3.4.2)
MSYS-1.0.10 (Make 3.79.1)
msysDTK-1.0.1

I got some strange messages at the very beginning (the first gcc call !)

-------------------------------------------------------------------
$ make
make -s -C glide -f Makefile.gps default
gcc -c -g -O2 -DSYSTEM_INCLUDE="system/windows.h" -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" - DPACKAGE_BUGREPORT="" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 - DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 - DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 - DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SETPGID=1 - DHAVE_SETSID=1 /d/_gps/gvd/common/file-utils.c -o /d/_gps/gvd/ common/obj/file-utils.o d:/_gps/gvd/common/file-utils.c:58: fatal error: opening dependency file /d/_gps/gvd/common/obj/file-utils.pp: No such file or directory
compilation terminated.
make[2]: *** [file-utils.o] Error 1
make[1]: *** [compile_/d/_gps/glide/../gvd/gvd_common] Error 2
make: *** [default] Error 2
-------------------------------------------------------------------

/d/_gps/gvd/common/obj/file-utils.pp: No such file or directory
.pp ???

I would like to know what is your working environment ?

Thanks,

Regards from France,

--
Stephane Riviere
Oleron Island - France
http://stephane.rochebrune.org
OpenPgp Key <5fd6a1e6> available on the web site above



--
Christopher Douty <Chris_Douty@xxxxxxxxxxxxx> +1-650-367-3129
Senior Engineer, Software & Systems  - AMPEX Data Systems Corp.


<Prev in Thread] Current Thread [Next in Thread>