[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: Fwd: Re: Axiom for Gentoo
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: Fwd: Re: Axiom for Gentoo |
Date: |
Thu, 14 Oct 2010 14:24:07 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
Greetings!
Where can I get gmp5? Does anyone know why it is not in Debian
unstable yet?
Take care,
Tim Daly <address@hidden> writes:
> Camm, FYI.... -- Tim
>
> -------- Original Message --------
> Subject: Re: Axiom for Gentoo
> Date: Mon, 11 Oct 2010 20:02:40 +0200
> From: Thomas Kahle <address@hidden>
> To: Tim Daly <address@hidden>
>
>
>
> Dear Tim,
>
> coming back to all what we had written below. I made a new gentoo
> ebuild (package) of the september version, using 'unset ABI'. It works,
> but the general policy is that such a solution (bundled copies of system
> libraries) will prevent axiom from entering the main gentoo tree. Since
> this is effectively caused by gcl depending on gmp-4, and not accepting
> gmp-5 there is probably little you can do about it. However, since you
> seem to know the people, maybe you can coordinate with the gcl
> developers. If gcl works with gmp-4 it should be possible to make it
> work with version 5 too, I think.
>
> So much for now,
> Thanks for making Axiom!
>
> Thomas
>
>
>
> On 06:33 Fri 01 Oct , Tim Daly wrote:
>>
>>
>> On 10/1/2010 3:04 AM, Thomas Kahle wrote:
>> > On 05:28 Fri 01 Oct , Tim Daly wrote:
>> >> On 10/1/2010 2:01 AM, Thomas Kahle wrote:
>> >>> On 00:37 Fri 01 Oct , Tim Daly wrote:
>> >>>
>> >>>> Axiom ships with a copy of GCL because it has been tested with
>> >>>> that copy. The GMP that ships with that copy also has been tested
>> >>>> with Axiom. I'm not sure how this can fail in Gentoo.
>> >>> One specific problem arises when you have only gmp-5 on your system.
>> The
>> >>> configure of the shipped gcl does not like that and will start to build
>> >>> an internal copy of gmp-4. The configure of this internal gmp fails
>> >>> because the ABI variable in Gentoo is set to either "32", or "AMD64",
>> >>> while the configure expects it to be "standard", no matter on which
>> >>> architecture you are. The only acceptable solution for the main tree
>> of
>> >>> gentoo by the way would be to make gcl build with gmp-5.
>> >> I'm confused. Where is the GMP getting the ABI information?
>> >> It looks like Gentoo sets an environment variable.
>> >> Do I need to add an 'unset ABI' to the make script?
>> > The shell environment of the package manager contains an ABI variable
>> > because many libraries use that from the environment. There are also
>> > more options than just 32 or 64 bit, I think. In the official gmp
>> > package that gentoo ships, the build system has been modified. We patch
>> > it to use the variable GMPABI instead of ABI and then do the following
>> > mapping:
>> >
>> > [...]
>> >
>> > # GMP believes hppa2.0 is 64bit
>> > local is_hppa_2_0
>> > if [[ ${CHOST} == hppa2.0-* ]] ; then
>> > is_hppa_2_0=1
>> > export CHOST=${CHOST/2.0/1.1}
>> > fi
>> >
>> > # ABI mappings (needs all architectures supported)
>> > case ${ABI} in
>> > 32|x86) export GMPABI=32;;
>> > 64|amd64|n64) export GMPABI=64;;
>> > o32|n32) export GMPABI=${ABI};;
>> > esac
>> >
>> > [...]
>> >
>> > Ok, the bottom line is that we really want gcl to use the gmp that is
>> > already installed on the users system, because we have fixed that once.
>> > Gentoo's QA will never allow something that builds an internal copy of
>> > gmp to enter the stable tree. The main problem is that dependency
>> > resolution should take place on the level of the package manager. If
>> > every scientific package brings its on version of gmp and a security
>> > issue with some older version is found than you have X copies of a
>> > vulnerable library on your system and X projects need to release new
>> > versions and you keep fixing the same bugs X times.
>> Axiom includes only two key packages, GCL and noweb. Axiom is gradually
>> planning to eliminate noweb but GCL is a long term commitment. We appreciate
>> the "fix it once" idea but we have to balance it with the "make it right"
>> idea. Axiom is an extremely complex and very large system (about a million
>> "things of code"). Every change gets tested. We have even shipped about a
>> dozen "snapshots" of GCL (See the GCLVERSION variable in the top level
>> Makefile file, which shows 15 different versions). The policy is to take
>> a snapshot of GCL and qualify Axiom on that version. For such fundamental
>> level software like GCL (and GMP) we need to make sure that the user has
>> not introduced unstable elements. A change in GMP would make minor but
>> incorrect changes to large, long running, and numerically intense
>> algorithms.
>> The user would never know, or if they did know, they would blame Axiom.
>>
>> Camm has just finished another minor release which he tested on a couple
>> of my systems. I have yet to fully qualify Axiom on that release so it is
>> not yet in the shipped system. I hope to get the new GCL release into the
>> November Axiom release.
>>
>> >> GCL uses GMP internally. I'm not sure what this has to do with the rest
>> >> of Gentoo. While I'm not opposed to using gmp5 it would require
>> coordination
>> >> with Camm and validation testing with Axiom. The GCL-internal version of
>> >> GMP is known to work on all platforms. I'd have to "qualify" gmp5 on all
>> >> of the platforms and also make sure that Axiom/GCL interfaces don't
>> >> change.
>> > Ok, so this might be a more long-term project, but it's certainly
>> > worthwhile. By the way, do you know any release plans for gcl? I saw an
>> > alpha of 2.7 on a Debian mirror once, but I can't find anymore.
>> I copied Camm on this reply. He can give definitive answers.
>> >> fedora you type:
>> >> export AXIOM=`pwd`/mnt/fedora
>> >> and if you build on ubuntu
>> >> export AXIOM=`pwd`/mnt/ubuntu
>> >>
>> >> The basename of the AXIOM variable is used to set up a makefile
>> >> with particular options. I'd propose creating a 'gentoo' option
>> >> so you can do
>> >> export AXIOM=`pwd`/mnt/gentoo
>> >> This generated makefile can unset the ABI shell variable.
>> > Well, we can also just unset ABI in the Gentoo package but the main
>> > problem really is that I can not track what happens with that internal
>> > gmp. Will gcl link statically against it? Or will it even try to
>> > install some shared libraries system-wide later?
>> >
>> > Thanks,
>> > Thomas
>> >
>> >>>> I'd be happy to work with you to fix problems you encounter.
>> >>> That is good to hear. By the way, I have been trying with the July
>> >>> version, if this is fixed in September, please excuse.
>> >>>> Note that Axiom is a "literate program" so you're going to find
>> >>>> that most of the source lives in latex files. You will need a
>> >>>> running copy of latex and possibly some other "system" files.
>> >>>> See the apt-get various lists for other distributions to get an
>> >>>> idea of the missing files (e.g. git-core, texlive, gawk, etc).
>> >>> That is all set-up I think. The list of dependencies that we inferred
>> is
>> >>> currently:
>> >>>
>> >>> virtual/latex-base
>> >>> app-text/dvipdfm
>> >>> dev-texlive/texlive-pstricks
>> >>> x11-libs/libXaw
>> >>> sys-apps/debianutils
>> >>> sys-process/procps
>> >>> <dev-libs/gmp-5.0
>> >>>
>> >>> These are Gentoo package names, but it should be more or less clear
>> what
>> >>> is in there.
>> >>>
>> >>> Regards,
>> >>> Thomas
>> >>>
>> >>>
>> >>>
>> >>>> On 9/30/2010 4:42 PM, Thomas Kahle wrote:
>> >>>>> Dear Tim,
>> >>>>>
>> >>>>> I am trying to package Axiom for the Gentoo Linux distribution.
>> Gentoo
>> >>>>> is a source based distribution in which the package manager
>> >>>>> automatically builds software on the users system. I encountered
>> >>>>> problems with packaging axiom because of its bundled copy of Gnu
>> common
>> >>>>> lisp. In general, we have problems with bundled software because it
>> >>>>> creates code duplication and introduces all sorts of problems.
>> Matters
>> >>>>> are being complicated by the fact that this flavor of lisp is more or
>> >>>>> less unmainted upstream. The last release is from 2005. Because of
>> >>>>> many unfixed problems gcl is currently not available in Gentoo. If
>> we
>> >>>>> ignore Gentoo's policies for a moment and try to build axiom with the
>> >>>>> gcl that it ships internally, we find that this in turn tries to
>> build
>> >>>>> an internal copy of gmp which will then fail. The reasons for this
>> >>>>> failures have all been long fixed in Gentoo's official gmp, so we
>> really
>> >>>>> don't want to duplicate all this here. What are your plans for
>> future
>> >>>>> versions of axiom in this regard? We would really like to include a
>> >>>>> recent version of axiom into Gentoo, but currently it seems
>> impossible.
>> >>>>> Any hint you might have is appreciated.
>> >>>>>
>> >>>>> With kind regards,
>> >>>>> Thomas Kahle
>> >>>>>
>> >>>>>
>> >>>>>
>
> --
> Thomas Kahle
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
- [Gcl-devel] Re: Fwd: Re: Axiom for Gentoo,
Camm Maguire <=