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: Tue, 26 Oct 2010 14:24:06 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Greetings!  OK just checked in gmp5 support onto the 2.6.8pre branch.

Separately, perhaps you might be able to tell me why on an old
sicortex gentoo box (mips64)  I get the following:

gcc   -o raw_ansi_gcl  -L.  -Wl,-Map raw_ansi_gcl_map  -lansi_gcl -lX11    -lm  
-lgmp -lreadline -lc -lgclp 
/.root0/usr/mips64el-gentoo-linux-gnu/gcc-bin/4.1.2/../../../lib/gcc/mips64el-gentoo-linux-gnu/4.1.2/../../../../mips64el-gentoo-linux-gnu/bin/ld:
 skipping incompatible ./libansi_gcl.a when searching for -lansi_gcl
/.root0/usr/mips64el-gentoo-linux-gnu/gcc-bin/4.1.2/../../../lib/gcc/mips64el-gentoo-linux-gnu/4.1.2/../../../../mips64el-gentoo-linux-gnu/bin/ld:
 cannot find -lansi_gcl

but

gcc   -o raw_ansi_gcl  -L.  -Wl,-Map raw_ansi_gcl_map  libansi_gcl.a -lX11    
-lm  -lgmp -lreadline -lc -lgclp 

works fine.  The compiler is apparently configured as 64bit only.

Take care,

Thomas Kahle <address@hidden> writes:

> On 14:24 Thu 14 Oct     , Camm Maguire wrote:
>> Greetings!
>> 
>> Where can I get gmp5?  Does anyone know why it is not in Debian
>> unstable yet?
>
> On 
>
> http://packages.debian.org/search?keywords=gmp
>
> you find lib{32,64}gmp10 and dev packages in the 'experimental'
> branch. I don't know what that is actually.  More experimental than sid?
> Anyhow, these packages contain the .so that constitutes the main part of
> gmp.
>
> Cheers,
> Thomas
>
>
>
>> 
>> 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
>
> -- 
> 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]