[gps-devel] gps compile.

Ludovic Brenta <ludovic.brenta at insalien.org> ludovic.brenta at tiscali.be
Tue Jun 29 16:54:02 CEST 2004


Arnaud Charlet wrote:
> I wrote:
>> For Debian, I had to copy several source files from GCC 3.4 into
>> the GPS sources to get GPS to compile. I did not have to recompile
>> GNAT itself, but the effort required to get GPS to compile with
>> GNAT 3.15p was not trivial at all (approximately 70 hours'
>> work). BTW, this
> 
> I suspect something is not quite right in the way you build things.

Not quite right, perhaps.  Different from yours, definitely.  Here is
an excerpt from the README.Debian for GPS 1.4.0:

+The upstream sources include a directory named `gnat_src' which
+contains some files from the GNAT compiler and some files from the
+GNAT run-time library, libgnat.  These files are more recent than the
+latest public release of libgnat, 3.15p, and contain some additions
+and modifications to it.  Because of this, we cannot link dynamically
+against either libgnat-3.15p or libgtkada2 (which is linked with
+libgnat-3.15p).  In order to link dynamically, and because the files
+under `gnat_src' are not from a public GNAT release, I have patched
+GPS to not use these files.  Here is a summary if these patches:

You may think that this is not right at all, but it works pretty well.

>> means that the statement, on the GPS home page, that "you need GNAT
>> >= 3.15" is not entirely true.
> 
> It is entirely true, I find your statement offending.

My apologies.  I stand corrected: if you compile the source
distribution and link statically using GNAT 3.15p, it does work.  I
did this last year before I decided I really wanted to use shared
libraries.

>> I find it unfortunate that GPS will not compile out of the box with
>> the current public release of GNAT, 3.15p. I have had this problem
> 
> It does compile out of the box with GPS releases, I checked that
> personnally.  I find it unfortunate that people will more easily
> blame others rather than themselves.

I was not blaming anyone.  I appreciate your work and I am trying to
help promote it to people who have never heard of Ada before, or to
those who won't build from source.

> If it does not for you, it means that you are either:
> - not following the instructions precisely enough
> - building from CVS, which indeed is a little bit trickier, since GNAT
>   sources are not packaged together with the CVS sources.
> - or starting from a miscompiled GNAT (the instructions concerning
>   GNAT 3.15p assume a proper binary, such as the ones available on the
>   libre site).

> As for the particular issue of the pretty printer package, that's indeed
> an unfortunate issue, although it will soon become OBE for two
> reasons:
> - GCC 3.4 is out and handles/ignores this package as expected
> - GPS 2.0 should be out soon and won't generate this package unless
>   asked for explicitely

This is great news.

>> Any one of these solutions would make life _much_ easier for
>> everyone who wants to use this software and contribute to it, or
>> for distribution maintainers like myself.
> 
> You will find than rather than demanding more work on our side, if
> you follow more precisely the instructions, you will reduce the
> amount of work for you, without having to demand anything. At least
> that's the case for GPS.

I agree entirely; but I prefer to go the extra mile to make Debian an
outstanding distribution (in the case of GPS, this meant using the
shared libgnat 3.15p and libgtkada, providing man pages, etc.).  I am
not demanding more work on your side; my apologies again if I sounded
like I was giving orders or complaining.  I was trying to point out
possible improvements to the build process.

BTW, here is another idea that just crossed my mind: how about
separating the project file routines into their own shared library
(e.g. libgnat-project.so)? This shared library would be built along
with libgnat, but used by GPS, gnatmake, and all other project-aware
tools.  It would also allow third-party developers to make their own
tools project-aware (this could be interesting for ASIS-based tools,
for example).  I'm willing to help do this if you think that it's a
good idea.

-- 
Ludovic Brenta.


---------------------------------------------------------------------------
NEW: Tiscali ADSL LIGHT, 28,95 EUR/mois, c'est le moment de faire le pas!
http://reg.tiscali.be/default.asp?lg=fr





More information about the gps-devel mailing list