Karim Belabas on Mon, 30 Jan 2006 19:34:51 +0100


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

Re: Some functions from paridecl.h are not implemented


* Benjamin Benninghofen [2006-01-28 21:41]:
> The File paridecl.h contains the following declarations,
> but their implementation is missing.
> 
> gscalcol_proto
> gbittest3
> element_pow_mod_p
> lllgramall
> nf_get_LLL
> gtor
> shifti3
> poldivrem_i
> FpXQX_safegcd
> incgam3
> padicfieldslist

Thanks for pointing this out. I have removed the spurious declarations in CVS.

> Another problem arises when the application using PARI is compiled
> with the gcc option -std=c99 under SUSE 9.0. In that case the
> #include <pari.h>
> does not get the definition of ulong and then the compilation fails.
> 
> Is PARI supposed to be compatible with C99 applications ?

It should. But in case of problems, the same flags should be used to
compile both the PARI library and the application. In fact, Configure
determines whether included headers define a given type or declare a given
function; if a flag introduced by the application causes the compiler to
expand headers differently (e.g. due to a different set of #define's), then
Configure has been fooled and we are in trouble.

A simple workaround is to use something like

  env CFLAGS="-std=c99" Configure

Hope this helps,

    K.B.
-- 
Karim Belabas                  Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1          Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation    http://www.math.u-bordeaux.fr/~belabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux.fr/  [PARI/GP]