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