a) Math::Pari is the PERL interface to the PARI part of GP/PARI
   (version 2.*).  The info about GP/PARI is on
   http://www.parigp-home.de/
   Integer part and the first 4 digits after the point in the version
   of Math::Pari reflect the latest version of GP/PARI it was tested with.
	(2.01080* still fully supports only 2.1.7, but mostly works with 2.3.*
         too.)

   The next paragraph is an excerpt from documentation inside Pari.pm:

     Package Math::Pari is a Perl interface to famous library PARI for
     numerical/scientific/number-theoretic calculations.  It allows
     use of most PARI functions (>500) as Perl functions, and (almost)
     seamless merging of PARI and Perl data.

   The code is distributed with the same license as Perl (i.e., Artistic or
   or GPL); however, it uses GP/PARI code, which is purely GPL.

b) This module includes a part written in C; thus it is requires a *fully*
   working Perl installation, including a C compiler which Perl knows about.
   Since prebuild configurations are typically broken (in many subtle ways),
   build is not supported unless your perl executable was build on your machine
   (or otherwise you show that you know what you are talking about ;-).

   Given this, in most cases, this module can be installed as all the others:

     perl -MCPAN -e shell
     CPAN> install Math::Pari

   or

     perl -MCPAN -e 'install Math::Pari'

   or (if you manually downloaded the archive, and change version numbers):

     tar -zxfv Math-Pari-2.001200.tar.gz
     cd Math-Pari-2.001200
     perl Makefile.PL && make && make test && make install

   Possible complications are addressed in the file INSTALL:

     x) Not having Net::FTP installed and working, and not having
        GP/PARI build directory "nearby" (as parent, kid or sibling);

     x) Failing compile or configuration: wrong assembler
	architecture, wrong paricfg.h (CLK_TCK etc.);

     x) the rest of it...

   IMPORTANT REMARK: If you try to compile with a different
   configuration, please run

	make realclean

   in between.  Otherwise significant problems may arise.  [A typical
   symptom: the symbol overflow cannot be found.]

c) How the tests work

   Lowercase test scripts translate native GP/PARI tests from GP
   syntax to Perl syntax.  You can get a better understanding of these
   translations by running the tests manually, as in

	perl t/all.t

   after install, or

	perl -Mblib t/all.t

   before install.  Currently two subtests of t/nfields 'leak' PARI
   warnings.  Until the test engine is taught to look-for/eat these
   warnings, they *must* appear.

d) Reporting bugs/problems	(REQUIRED!!!!!!!!!!!!!!!!!!!!!!!!!)

 0) I need to see the output of 

     perl Makefile.PL
     perl -V

    and the relevant messages from the `make' step "near the failure point".

 1) Additionally, Math::Pari can be build in several way (see INSTALL);
    unless you know what you are doing, please rebuild with

     cp libPARI/paricfg.h libPARI/paricfg.h-no-configure
     make realclean
     perl Makefile.PL Configure

    and retest the bug you found.  If this does not fix the bug, just mention
    this in your bug report.  If this fixes the bug, please supply the result
    of

     diff -u libPARI/paricfg.h-no-configure libPARI/paricfg.h

    too.

 2) Additionally, if this does not fix the bug, and your build is
    architecture-specific (you saw a message similar to

 ...I will use assembler build of type 'ix86'.

    during `perl Makefile.PL'), please also do

     make realclean
     perl Makefile.PL machine=none

    retest your problem, and report whether it fixed the bug.

 3) elliptic.t subtest 41 often fails on GP/PARI itself, so currently I
    do not consider its failure to be a Math::Pari's bug.

 4) If build succeeds, but test not, you can get higher-granularity reports
    from test files by running them as (1st line in bash/DOSISH, 2nd in tcsh syntax):

      perl -Mblib t/55_intnum.t 2>&1 >  intnum-log
      perl -Mblib t/55_intnum.t      >& intnum-log

    Please inspect and include the generated log file in your report too.

    As an extra step, if some tests fail due to the executable/module
    actually CRASHING, the module test suite may try to use the locally
    installed debugger (if found!) to try to automatically extract more info
    about the crash.  This is enabled by setting PERL_XSCODE_DEBUG in
    environment.  Rerun testing like this:

      env PERL_XSCODE_DEBUG=1 AUTO_DBG_LOADMAPS=1 make test 2>&1 >  auto-debug.log

    or (if you want to debug one test)

      env AUTO_DBG_LOADMAPS=1 perl auto-dbg/auto-debug-module.pl -U -B -q Math::Pari t/55_intnum.t 2>&1 >  auto-debug_intnum.log

    Again: please inspect this log file (if feasible) and include it in your report
    too.

      (Theoretically, leaking the load addresses of DLLs to the public might
       provide a stepping stone to an attacker on your system.  Although this
       is just a tiny stepping stone, omit the part AUTO_DBG_LOADMAPS=1 if
       this threat is important to you.  Although keep in mind that this part
       may help in debugging.)

e) Documentation to this package is contained inside Pari.pm. After
   installing it is accessible by standard means, like

     perldoc Math::Pari
     man Math::Pari

   and possibly in other forms particular for your system.

   A copy of documentation of the PARI library in POD format is
   provided as well, access it as Math::libPARI:

     perldoc Math::libPARI
     man Math::libPARI

   Since many POD converters are too stupid/buggy to process these
   docs, an alternative Math::libPARI.dumb is provided; use as in

     perldoc Math::libPARI.dumb

   etc.

=============================================================

Copyright (C) 1997-2019 by Ilya Zakharevich <cpan@ilyaz.org>

The code in this distribution is free software; you can redistribute it and/or modify
it (with exception of Pari.xs) under the same terms as Perl itself, either Perl version 5.8.2 or,
at your option, any later version of Perl 5 you may have available.

The file Pari.xs may contain chunks of code based on code from GP/PARI.
So it is covered by the viral license of GP/PARI (GPL v2).

Keep in mind that in practice, this distribution is unusable without
linking in code from GP/PARI.  As of 2019, that code is covered by GPL v2.