Opened 9 years ago

Last modified 9 years ago

#14201 closed defect

During upgrade to sage 5.7 ppl is using gmpxx headers from the system — at Version 2

Reported by: fbissey Owned by: tbd
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: packages: standard Keywords:
Cc: vbraun, dimpase Merged in:
Authors: Volker Braun Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by vbraun)

This is a problem reported by user Pong on sage-devel https://groups.google.com/forum/?hl=en&fromgroups=#!topic/sage-devel/iVudo_7dSFU From hi failure log it appears that ppl tries to use the system gmpxx headers. which in this case is from gmp 5.1.0 which is imcompatible with this version ppl see https://bugs.gentoo.org/show_bug.cgi?id=447928 for example:

make[5]: Entering directory `/home/pong/sage-current/spkg/build/ppl-0.11.2.p1/src/src'
/bin/sh ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..  -I.. -I../src    -g -O2 -frounding-math  -I/home/pong/sage-current/local/include -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c -o Box.lo Box.cc
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -I/home/pong/sage-current/local/include -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c Box.cc  -fPIC -DPIC -o .libs/Box.o
In file included from checked.defs.hh:29:0,
                 from Checked_Number.defs.hh:28,
                 from Coefficient.types.hh:16,
                 from Coefficient.defs.hh:27,
                 from Box.defs.hh:29,
                 from Box.cc:25:
mp_std_bits.defs.hh:48:7: error: redefinition of 'class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >'
/usr/include/gmpxx.h:3269:21: error: previous definition of 'class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >'
mp_std_bits.defs.hh:109:7: error: redefinition of 'class std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >'
/usr/include/gmpxx.h:3306:21: error: previous definition of 'class std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >'

New spkg: http://www.stp.dias.ie/~vbraun/Sage/spkg/ppl-1.0.spkg

Change History (3)

comment:1 Changed 9 years ago by pong

Is it possible to ask SAGE to sage to use other headers during compilation? If so, I will try to fix this issue but need some pointers to start. As François said, looks like the spkg-install file already export flags to instruct SAGE to look for the libraries that comes with SAGE instead of those system-wide. What else should I look for?

comment:2 Changed 9 years ago by vbraun

  • Authors set to Volker Braun
  • Description modified (diff)
  • Status changed from new to needs_review

I've made a new spkg with the latest upstream version and am setting the --with-gmp-include configure option. Let us know if that fixes the issue!

Changed 9 years ago by vbraun

Initial patch

Note: See TracTickets for help on using tickets.