[Debian-science-sagemath] Building Giac for Sage 7.5

François Bissey frp.bissey at gmail.com
Sat Jan 21 07:54:39 UTC 2017


I have now upgraded to pari 2.9.1 in my experimental branch of sage-on-gentoo
and giac rebuilt without a hitch. Not even a warning.

François

> On 18/01/2017, at 02:50, Ximin Luo <infinity0 at debian.org> wrote:
> 
> References:
> https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/
> https://www-fourier.ujf-grenoble.fr/~parisse/giac.html
> 
> The upstream source package contains debian/ and debianold/ which is actually newer than debian/; I have already emailed the upstream author to ask about this, and what we should do with them.
> 
> Anyway, after downloading 1.2.2-103 (what Sage uses), running `debian/rules build` (on debian/) gives the following error:
> 
> [..]
> libtool: link: x86_64-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o  .libs/input_lexer.o .libs/sym2poly.o .libs/gausspol.o .libs/threaded.o .libs/moyal.o .libs/maple.o .libs/ti89.o .libs/mathml.o .libs/misc.o .libs/permu.o .libs/quater.o .libs/desolve.o .libs/input_parser.o .libs/symbolic.o .libs/index.o .libs/modpoly.o .libs/modfactor.o .libs/ezgcd.o .libs/derive.o .libs/solve.o .libs/intg.o .libs/intgab.o .libs/risch.o .libs/lin.o .libs/series.o .libs/subst.o .libs/vecteur.o .libs/sparse.o .libs/csturm.o .libs/tex.o .libs/global.o .libs/ifactor.o .libs/alg_ext.o .libs/gauss.o .libs/isom.o .libs/plot.o .libs/plot3d.o .libs/rpn.o .libs/prog.o .libs/pari.o .libs/cocoa.o .libs/unary.o .libs/usual.o .libs/identificateur.o .libs/gen.o .libs/tinymt32.o .libs/first.o .libs/TmpLESystemSolver.o .libs/TmpFGLM.o .libs/help.o   -lntl -lpari -lgsl -lgslcblas -lrt -lpthread -llapack -lblas -lgfortran -ldl -lpng -lmpfi -lmpfr -lgmp -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o    -Wl,-soname -Wl,libgiac.so.0 -o .libs/libgiac.so.0.0.0
> /usr/bin/ld: PARI_stack_limit: TLS definition in /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libpari.so section .tbss mismatches non-TLS reference in .libs/pari.o
> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libpari.so: error adding symbols: Bad value
> collect2: error: ld returned 1 exit status
> Makefile:521: recipe for target 'libgiac.la' failed
> make[3]: *** [libgiac.la] Error 1
> [..]
> 
> A bit of googling suggests that this may be caused by this:
> 
> giac-1.2.2/src/pari.cc:
> line 53-58
> extern "C" {
> #include <pari/pari.h>
> #include <pari/paripriv.h>
>  extern void *PARI_stack_limit;
>  extern entree functions_basic[];
> }
> 
> and the issue could be that these "extern" declarations are not compatible with what PARI 2.9 actually declares. However these are not declared in the header files in /usr/include/$triplet/pari either.
> 
> There is some note regarding --no-pari in debianold/README.debian but Sage 7.5 is not using it:
> 
> https://git.sagemath.org/sage.git/tree/build/pkgs/giac/spkg-install?id=7.5.1
> 
> so I assume we should try to compile *with* PARI for the Debian package.
> 
> If these errors seem familiar, to anyone more familiar with PARI than I, please give some advice. Otherwise I'll keep investigating, later when I have more time.
> 
> X
> 
> -- 
> GPG: ed25519/56034877E1F87C35
> GPG: rsa4096/1318EFAC5FBBDBCE
> https://github.com/infinity0/pubkeys.git
> _______________________________________________
> Debian-science-sagemath mailing list
> Debian-science-sagemath at lists.alioth.debian.org
> https://lists.alioth.debian.org/mailman/listinfo/debian-science-sagemath




More information about the Debian-science-sagemath mailing list