Package: lcalc
Version: 1.23+dfsg-5
Severity: important

Dear Debian science team,

lcalc will FTBFS when pari 2.9.0 is uploaded to Debian.

Please find two patches to fix that.
The first one fixes lcalc to use current function names.
(another way to fix this is to add
#include <pari/pariold.h>
to Lcommandline_elliptic.cc to add back the old names)

The second fixes an API change between pari 2.7 and 2.9.

With theses patches, lcalc should build with both PARI 2.7.6
and 2.9.0.

Cheers,
-- 
Bill. <ballo...@debian.org>

Imagine a large red swirl here. 
Index: lcalc-1.23+dfsg/src/Lcommandline_elliptic.cc
===================================================================
--- lcalc-1.23+dfsg.orig/src/Lcommandline_elliptic.cc
+++ lcalc-1.23+dfsg/src/Lcommandline_elliptic.cc
@@ -133,15 +133,15 @@ void data_E(char *a1, char *a2, char *a3
     //gaffsg(a4,(GEN) F[4]);
     //gaffsg(a6,(GEN) F[5]);
 
-    gaffect(strtoGEN(a1), (GEN) F[1]);
-    gaffect(strtoGEN(a2), (GEN) F[2]);
-    gaffect(strtoGEN(a3), (GEN) F[3]);
-    gaffect(strtoGEN(a4), (GEN) F[4]);
-    gaffect(strtoGEN(a6), (GEN) F[5]);
+    gaffect(gp_read_str(a1), (GEN) F[1]);
+    gaffect(gp_read_str(a2), (GEN) F[2]);
+    gaffect(gp_read_str(a3), (GEN) F[3]);
+    gaffect(gp_read_str(a4), (GEN) F[4]);
+    gaffect(gp_read_str(a6), (GEN) F[5]);
 
     E = ellinit(F, NULL, BIGDEFAULTPREC);
 
-    C=globalreduction(E);
+    C=ellglobalred(E);
 
     x=gtodouble((GEN) C[1]);
 
@@ -167,8 +167,8 @@ void data_E(char *a1, char *a2, char *a3
 
             p=n;
             gaffsg(p,y);
-            coeff[p] = 
Double(1.*llrint(gtodouble(apell(E,y))))/sqrt(Double(1.*p));
-            //coeff[p] = 
Double(1.*Long(gtodouble(apell(E,y))+.1))/sqrt(Double(1.*p));
+            coeff[p] = 
Double(1.*llrint(gtodouble(ellap(E,y))))/sqrt(Double(1.*p));
+            //coeff[p] = 
Double(1.*Long(gtodouble(ellap(E,y))+.1))/sqrt(Double(1.*p));
 
             if(gtolong(gmod((GEN) E[12],(GEN) y))==0) // if p|discriminant, 
i.e. bad reduction
             {
Author: Bill Allombert <ballo...@debian.org>

Index: lcalc-1.23+dfsg/src/Lcommandline.cc
===================================================================
--- lcalc-1.23+dfsg.orig/src/Lcommandline.cc
+++ lcalc-1.23+dfsg/src/Lcommandline.cc
@@ -473,7 +473,11 @@ int main (int argc, char *argv[])
 
 #ifdef INCLUDE_PARI
         if(do_elliptic_curve){
+#if PARI_VERSION_CODE >= PARI_VERSION(2,8,0)
+             paristack_resize((size_t)N_terms*16 + 1000000);
+#else
              pari_init_stack((size_t)N_terms*16 + 1000000, top-bot); // 
Allocate bigger PARI stack
+#endif
              if (my_verbose>0) cout << "Will precompute " << N_terms << " 
elliptic L-function dirichlet coefficients..." << endl;
              initialize_new_L(a1,a2,a3,a4,a6,N_terms); 
         }
-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to