axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: directory/truename transition


From: Ondrej Certik
Subject: [Axiom-developer] Re: directory/truename transition
Date: Thu, 5 Jul 2007 00:25:59 +0200

This has been debated extensively on this list and there are other
people here who agree with you, most notably Bill Page, which is why
he asked the question. This view implicitly assumes that users have
tools like apt-get and yum which can resolve dependencies. At least
one of my systems is still RedHat 9 and all dependencies in rpm files
have to be searched and resolved by hand, a daunting task at best.

Yes, that's why those distributions that cannot handle dependecies are
receding. But I think if someone is still using those, he already
knows how to do these things by hand.

Consider the current case, that there are several fixes in GCL that
Axiom uses but they are still in GCL-2.6.8pre. In fact, there are
different, unmarked versions of GCL-2.6.8pre which contain additional
fixes.

Yep, these needs to get to Debian first and then Axiom.

If a user gets a copy of Axiom and tries to build it they would be
immediately confronted with the task of installing GCL. They would
naturally install GCL-2.6.7 since that is the released version. They
would then find that the Axiom build would fail, either because
    (a) it had the bug that GCL-2.6.8pre (some snapshot) fixes
or  (b) axiom needed GCL-2.6.8pre to build, not GCL-2.6.7

Reporting the bug (a) would get the reply "that's been fixed".
Reporting the bug (b) would get the reply "get the CVS GCL".

In either case the potential Axiom user is confronted with a
non-working Axiom system. Thus we lose a potential Axiom user.

I agree, the patches should be accepted to GCL and the GCL should get
into distributions, so that Axiom works out of the box.

My philosophy is that Axiom should "just work". From this it
follows that we need to extensively test Axiom on a single
known-good version of GCL, which we cache. That way the end
user gets Axiom, sets a shell variable, and types 'make'.
People who want a specific GCL can specify that on the make:
   make GCLVERSION=gcl-2.6.7

If you've followed the recent discussion there have been some
excellent advances in the "just work" department, most notably
Gaby's Build Improvements change for autoconf.

There is also some effort to use an external GCL but there have
been issues related to dynamic linking and Axiom-specific
modifications which Gold statically links. All of these will
eventually be worked out.

In the mean time it seems to me that the struggles which concern
developers on internal builds and branches should not become
concerns of external users. Axiom should "just work".

As noted, however, there is much disagreement about the means,
if not the goal, of "just works".

I agree it need to just work, that's why the current version should be
in Debian. I have nothing against preparing some easy environment with
all the sources of all packages needed (like SAGE is doing), because
it has some advantages as mentioned in that former discussion, but in
my opinion this is not a systematic work. One should try to propagate
all patches upstream (and in the meantime use the patched version) and
use the distribution to do the work.

I for example have my own debian repository, where I have all the
packages, that are either not yet in Debian, or need some patching. I
make sure everything works for me nicely (and it then looks like if
everything was in Debian), and then I just try to get my packages or
updates to Debian, which takes time of course, but it doesn't matter,
because I (and the users) can use my own patched packages in the
meantime in exactly the same way as if it was already in Debian (only
they need to add another repository to their sources.list). I believe
the same can be done for any linux distribution.

Indeed. I think that it is only practical to aim for "just works" in
the case of binary distributions tested and certified for specific
environments. Compiling Axiom from source is a completely different
issue in which "just works" is very often unlikely.

What didn't occur to me for a long time is that the Debian source
package always builds if the build dependecies are satisfied, so it
can be used as a reference implementation of the compilation.

Ondrej

Ondrej




reply via email to

[Prev in Thread] Current Thread [Next in Thread]