Ilya Zakharevich on Thu, 25 Oct 2001 12:21:34 -0400


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

Re: math::pari + pari-2.1.2


On Thu, Oct 25, 2001 at 01:54:25PM +0200, Karim BELABAS wrote:
> 1) Rather unimportant point: you find PARI's build dir by looking at
> pari-[234].*.  I added another loop if this one failed, to check for 'pari'
> (the PARI root dir may have been created by CVS)  [then I had to separate
> version number and directory name, etc.]

[Ring of a bell]  Of course, thanks for the idea!

> 2) I had many configuration problems, all boiling down to Math::PARI's using
> perl's Config.pm when our perl installation was installed from a binary
> package [frequent situation on Solaris], pre-compiled on a rather different
> configuration.

> cc -c -I../../../pari-2.2.2/src/headers -I../../../pari-2.2.2/src/graph -I.
> -xO3 -xdepend    -DVERSION=\"0.10\" -DXS_VERSION=\"0.10\" -K PIC
> -Derr=pari_err -DSOLARIS -DDYNAMIC_PLOTTING -o mpqs.o
> ../../../pari-2.2.2/src/modules/mpqs.c
> /usr/ucb/cc:  language optional software package not installed

> etc.

Junk in, junk out.  This is a Perl module; if the Perl configuration
is busted bad enough, one is not able to build a Perl module, period.
Nothing specific to Math::Pari.  I do not think I *want* to treat this
case specially.

> 3) I compiled & installed perl-5.6.1 myself. Now 2) is completely solved, and
> 'make' runs to completion and so does 'make install'. I get this
> unimportant warning:
> 
> In file included from ../../../pari-2.2.2/src/headers/pari.h:70,
>                  from ../../../pari-2.2.2/src/modules/thue.c:22:
> ../../../pari-2.2.2/src/headers/parigen.h:22: warning: redefinition of `ulong'
> /home/belabas/tmp/gcc-3.0.1/lib/gcc-lib/sparc-sun-solaris2.8/3.0.1/include/sys/types.h:506: warning: `ulong' previously declared here
> 
> (apparently ULONG_NOT_DEFINED is not set properly).

Some time I will ask you to run some tests, since I *am* testing the
headers...

BTW, any reason why ulong is *still* used in the sources?  I sent a
recipe how to fix it around 5 years ago.  IIRC, it was something as
simple as a global edit as in

  pfind src '=~ s/\bulong\b/PARI_ulong/'

followed by insertion of conditional `typedef PARI_ulong ulong;' (for
old extensions).  Maybe it is better still to change this to something more
specific, as in PARI_bigint_comp (waiting for a free-style C-like
declarations of PARI types).

> glob failed (child exited with status 1) at Makefile.PL line 97.

Your perl is not correctly compiled.  Did you run `make test'?

> Pari.xs:224: warning: static declaration for `changevalue' follows non-static

Thanks.  Cannot find it in CHANGES, when was it made global?  It is
not in 2.0.15 yet...

> 4) make test fails miserably:

[One should not run install before test...]

> Can't load 'blib/arch/auto/Math/Pari/Pari.so' for module Math::Pari: ld.so.1:
> /home/belabas/pub/bin/perl: fatal: relocation error: file
> blib/arch/auto/Math/Pari/Pari.so: symbol overflow: referenced symbol not
> found at /home/belabas/pub/lib/perl5/5.6.1/sun4-solaris/DynaLoader.pm line
> 206.

This is typical for a configuration change without makeing realclean
(I'm adding this to README).  Underscore problem.  Please re-report.

Ilya