[gps-users] Library of GNAT internals (was: GPS don't like ASIS)

Ludovic Brenta ludovic at ludovic-brenta.org
Mon Sep 11 10:41:53 CEST 2006


Martin Krischik writes:
> I said this before and I repeat it: a "libgnatinternal.so" would
> really be helpfull when creating ASIS, GLADE or GPS. And it is not
> impossible, AFAIK Ludovic create such a lib for Debian.

In fact I create two such libraries: libgnatvsn.so, licensed under
GNAT-Modified GPL, and libgnatprj.so, licensed under pure GPL.

libasis.so uses libgnatvsn.so only.

Yesterday I've successfully built GPS 4.0.0 using all of
libgtkada.so.2.8.1, libasis.so.2005, libgnatvsn.so.4.1.1 and
libgnatprj.so.4.1.1.  I do not use "configure" or the dreaded recursive
makefiles, or even the recursive project files from AdaCore.  Instead, I
have *one* makefile, called debian/rules, and *one* project file called
gps.gpr.  Works like a charm.  That's how GPS 2.1.0 was built in Debian,
BTW.  There is now *zero* duplication of GNAT code.

Hal V. Engel wrote:
> projects-registry.adb:56:06: warning: no entities of "Scans" are referenced
> projects-registry.adb:342:15: "Initialize_Ada_Keywords" not declared in "Scans"
> projects-registry.adb:346:10: "Is_Keyword_Name" is undefined

I also had this problem and patched GPS to solve it.  GCC 4.1.1 contains
a version of scans.ad[bs] that lacks Initialize_Ada_Keywords.  The file
is in libgnatvsn.so in Debian, so I did not want to change it.  Instead,
I copied the procedure from GNAT GPL 2006 into GPS, in
projects-registry.adb.  Similarly, I copied Is_Keyword_Name from
(if memory serves) snames.ad[bs] into projects-registry.adb.

> projects-registry.adb:867:10: unmatched actual "When_No_Sources" in call
> projects-registry.adb:867:29: "Warning" is undefined

I did not see this error.  I think it is a configuration management
problem; you have to be really careful which versions of which libraries
you use, and which version of the compiler.

I'm now facing a serious bug: GPS 4.0.0 crashes and dumps core when I
launch it and try "Project | Open...".  This seems to be a GTK+ issue,
perhaps a stack overflow or something.  I'm investigating.  At this
point, I'm not sure whether that's a problem in GtkAda, GPS or the
compiler (GCC 4.1.1 from the FSF).

I'll keep you posted.  In the mean time, drop me a note if you would
like to peek at my build scripts.

(Followup to -devel)

-- 
Ludovic Brenta.


More information about the gps-users mailing list