[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: |
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