On Fri, Dec 20, 2002 at 11:14:35PM +0100, Henri.Cohen@math.u-bordeaux.fr wrote:
> > PS: the CVS server suffer some strange kind of outage currently,
> > so I advise you to use cvs -z9, this make it work faster.
> > I do not know what is the problem...
>
> The network in Bordeaux has been suffering some unknown problems
> in the past week or two. The engineers now having left for the
> holidays, the situation will not improve at least until January 6.
Well, after some hour the cvs commit has finished...
You should use 'cvs update -d' so that the new directory
src/kernel/gmp is created.
One issue with the GMP kernel is that the GMP libpari.so is not
ABI/API compatible with the non-GMP one, and in fact the headers files
are not the same.
One solution would be to allow only one build environment, but several run-time
environment, in the standard setup.
This means:
headers/libpari.a/libpari.so will be called pari for all version, including 2.2,
including GMP enabled version.
We will use soname libpari.so.1 for 2.1, libpari-2.2.so.N for the non-GMP 2.2
version and libpari-gmp-2.2.so.N for the GMP 2.2 enabled one.
The side effect is that the flag to link with pari will always be -lpari,
and -lpari-2.2 as it is currently for 2.2.
The main reason for allowing only one build environment is that header files
are not versionned: headers files end up in /usr/include/pari whatever
versions they have, there is no /usr/include/pari-2.2 directory, and doing
that would be impractical: C source files are supposed to #include<pari/pari.h>,
then would need to be changed to #include<pari-2.2/pari.h>.
Debian support installing only one libXXX-dev packages while you can install
libXXX1 and libXXX2 at the same time, just for that reason. Also it has the
side effect of deprecating the use of old versions faster.
Merry Christmas,
Bill