gcl-devel
[Top][All Lists]
Advanced

[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



reply via email to

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