John Cremona on Thu, 11 Aug 2016 13:37:13 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Please test pari-2.8.0 prerelease 1

On 11 August 2016 at 12:16, Karim Belabas
<> wrote:
> * John Cremona [2016-08-11 12:03]:
>> I have been building 2.8.0 on several ubuntu machines.  In each case I
>> first unpack the files elldata.tgz  galdata.tgz  galpol.tgz
>> seadata.tgz into data/ as I have always done, before ./Configure.  But
>> after the build when I run "make test-all" I see
>> ! Skipping galois: optional package galdata not installed.
>> and similar lines about the other packages.
>> When I run the local version ./gp (since I have not yet done "make
>> install") to try something manually I can see the problem:
>> ? ellidentify(e)
>>   ***   at top-level: ellidentify(e)
>>   ***                 ^--------------
>>   *** ellidentify: error opening elldata file:
>> `/usr/local/share/pari/elldata/ell5'.
>> It seems that gp knows that I will later install it in /usr/local, but
>> not that I have not yet done this.  This makes "make test-all" less
>> useful, unless I first pre-install the data/ stuff.  I think I only
>> just noticed this as I have been doing the build on a couple of
>> machines which were new and so had not yet had pari/gp installed in
>> /usr/local/
>> I am not sure how to fix this, but I think there is something to be
>> fixed since one should be able to run "make test-all" before "make
>> install" and see no errors!  Perhaps there could be an environment
>> variable set to the path where the data files are, which "make
>> test-all" would set to "./data", while the installed version could use
>> a default.
> We have two conflicting goals here. The one we achieve is a test the
> final installation where everything is in its final resting place
> (that works only if packages are already installed). The one you seek is
> a preliminary complete test of the gp binary (to which you must indicate
> where it can temporarily find the packages).

Yes, that is exactly it.

> Both are possible, but I recommend the following three-step procedure:
> 1) make install-data
> (as root) which installs *only* what's in the data/ folder and nothing
> else. This is very low risk and a package can always be re-installed at
> any time in a trivial way (there is no signature / checksum verification
> or package registration protocol, it's a straight copy from data/ to
> 'datadir')
> 2) make test-all
> (or dyntest-all for a twice faster test that won't test the gp-sta
> binary at all; which is usually not installed anyway)
> 3) make install
> if everything looks all right.
> Most of the time, the packages will already be installed and 1) can be
> skipped.

This sounds good to me.  I had not noticed the target install-data
since it is not listed in the "Main targets" at the top of the
Makefile, but it does exactly what I needed.

I'm sure I will forget all about this next time I get a new machine!


> Cheers,
>     K.B.
> --
> Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
> Universite de Bordeaux         Fax: (+33) (0)5 40 00 69 50
> 351, cours de la Liberation
> F-33405 Talence (France)  [PARI/GP]
> `