comp.lang.ada
 help / color / mirror / Atom feed
From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: some questions on installing Ada on Linux
Date: Fri, 4 Jul 2014 08:49:44 -0700 (PDT)
Date: 2014-07-04T08:49:44-07:00	[thread overview]
Message-ID: <2871836a-3b86-4c5e-b7d9-7da3e9acf775@googlegroups.com> (raw)
In-Reply-To: <lp66ad$npf$1@dont-email.me>

On Friday, July 4, 2014 7:22:37 AM UTC-5, Simon Clubley wrote:
> > What is the correct way to install Ada on Linux these days?
> ...
> > 1) Should one install GNAT on Linux by downloading tar files from
> > http://libre.adacore.com  (GPL 2014 edition)

Do this only if:
1) the entirety of each executable containing your Ada work and all of its supporting libraries are licensed under GPL; or
2) throwaway work, such as replicating a bug; or
3) trying out AdaCore's version before paying the over-$10,000-per-seat license.

> > or use:  sudo apt-get install gnat-4.8

Do this (or analogue on various distributions of Linux) for all other cases.  For example, I install GCC 4.9 from http://FinkProject.org for my MacOSX development.

> > 2) Will the sudo installation install all the stuff listed at
> > libre.adacore.com?

  No.  None of it exactly as supplied by AdaCore.  Some AdaCore libraries are licensed as GPL only, which is useful only in executables entirely licensed as GPL.  For this reason, the GPL-only libraries from AdaCore (i.e., dual-licensed GPL and over-$10,000 per seat) are generally not distributed in the open-source community.

> including GPS editor and all the other packages?

  No.  GPS is not distribute as source code publicly.  I am unclear whether source code to GPS is included in the over-$10,000-per-seat license for GNAT Pro.

> > 3) Which is more recent, gnat-4.8 or GPL 2014 edition?

The answer is:  it depends on which portion of GCC you are talking about.  As I understand it (2nd hand), generally, AdaCore uses an older back-end for its latest GPL & Pro editions.  So if you want the most recent back-end to all of GCC including to GNAT, then FSF GCC 4.9 is currently the most-recent version of the back-end.  But FSF uses a merge of its historical codebase plus an annual snapshot of GCC-GNAT source code that AdaCore is obligated by the GPL to make available.  So there is a natural lag time from AdaCore's release of 1) GNAT Pro versions versus 2) when the annual snapshot occurs to form a now FSF GCC release, such as 4.9.  As I understand it, FSF GNAT front-end lags behind GNAT Pro front-end approximately 1 year, or perhaps a year plus a fraction of a year.  So if you want the most-recent GNAT front-end for Ada, then GNAT Pro is very current (with multiple releases throughout the year) or GNAT GPL edition is 2nd best, being current on the day of its release and then getting stale throughout the year until the next GPL Edition version.

> > 4) When I go to http://libre.adacore.com/download/configurations
> > is there a way to tell it to check everything for download,
> > without one having to spend 1 hr clicking on the check-box
> > for each item? I do not see "select all"

  No, that would be yet another benefit of prepackaged FSF GCC (including GNAT) over AdaCore GPL Edition.

> > It is really confusing having Ada/GNAT in 2 different places.

  It is not done for reducing confusion.  The AdaCore repository is done for AdaCore to have a way to fund itself (which is better than the alternative:  no revenue).  The FSF repository is done for legal reasons as FSF is the ultimate owner of the rights to copy the GNAT compiler within GCC, not AdaCore.

> > Why not have one place to install Ada from so it is less
> > confusing to users?

  The solution that I foresee long-term would be for a community outside of AdaCore to become strong enough to support FSF GNAT well.  I suspect that means that eventually at least one other corporation other than AdaCore would need to donate some of its employees' time to maintenance & expansion of FSF GNAT, analogous to Red Hat and IBM and Canonical and so forth donating some of their time to maintenance & expansion of the Linux kernel.

> I'll let someone who installs the pre-packaged toolchains answer your
> other questions (I'm RedHat based and just build a new gcc/binutils
> toolchain from the FSF source when the need arises) but the core problem
> is that there are two distinct branches of the GNAT sources which cannot
> be merged due to licence conflicts.

  Is this actually factually correct?  I was of the understanding that they are substantially merged approximately once per year.  What obstructs a wholesale merge is the fact that AdaCore's GNAT lags behind 2 or 3 versions from the latest stable back-end.  FSF merges the vast majority of AdaCore's evolution of GNAT that does not conflict with changes in the back-end.  It is bit-rot, not legalese, that naturally causes 2 source bases for GNAT.  The relationship is symbiotic:  FSF depends on AdaCore for most of the evolution of the Ada front-end, whereas AdaCore depends on FSF for most of the evolution of the back-end.  AdaCore merges in a newer (but still lagging) back-end version approximately once per year to AdaCore's state-of-the-art front-end.  Separately, FSF merges in a newer (but still lagging) GNAT front-end version approximately once per year to FSF's state-of-the-art back-end.

  reply	other threads:[~2014-07-04 15:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-04 10:16 some questions on installing Ada on Linux Nasser M. Abbasi
2014-07-04 12:22 ` Simon Clubley
2014-07-04 15:49   ` Dan'l Miller [this message]
2014-07-04 16:30     ` Simon Wright
2014-07-04 17:08     ` Simon Clubley
2014-07-04 17:30       ` Simon Clubley
2014-07-04 17:40       ` Ludovic Brenta
2014-07-04 17:22 ` Ludovic Brenta
2014-10-07 13:43 ` brbarkstrom
2014-10-07 15:58   ` Simon Wright
2014-10-07 16:56 ` brbarkstrom
2014-10-07 18:47   ` Ludovic Brenta
2014-10-07 19:06 ` brbarkstrom
2014-10-07 19:13   ` Ludovic Brenta
replies disabled

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