Package: pari
Version: 2.7.3

I installed pari 2.7.3 and tried to compile it with the compiler suite
provided by
the package mingw-w64-x86_64-gcc provided by MSYS2 (

   $ uname -a
   MINGW64_NT-6.1 freedom 2.1.4(0.287/5/3) 2015-06-08 22:11 x86_64 Msys
   $ gcc --version
   gcc.exe (Rev5, Built by MSYS2 project) 4.9.2

).  I also installed the package mingw-w64-x86_64-gmp (6.0.0-2) to get libgmp.

I found three problems:

(1) Pari insists that the type of a gmp limb be "long", which is 4
bytes, but here a gmp
     limb is "long long", which is 8 bytes.  Failing that, it refuses
to build the gmp arithmetic
     kernel, which I would like to do.

(2) Pari assumes that a pointer will fit in a long int, but it
doesn't.  One result is that
     initializing static longs from expressions derived from casting a
pointer will be non-constant
     and provoke a compiler error.  An example of this is provided by
the initializer of
     readonly_ghalf in language/init.c.

(3) Pari insists the user tell it where gmp.h is, even though the
compiler knows where to
     find it (it's not in /usr/include).  Why not just ask the
compiler if it can be found by compiling
     a one-line program?


(I'd like this to work so we can port our code, which uses pari; see
http://macaulay2.com/.)