Opened 6 months ago

Closed 3 months ago

#33981 closed defect (fixed)

latte_int: ExponentialSubst.h:62:3: error: ISO C++17 does not allow dynamic exception specifications

Reported by: Volker Braun Owned by:
Priority: major Milestone: sage-9.8
Component: packages: optional Keywords:
Cc: Matthias Köppe, John Palmieri Merged in:
Authors: Matthias Koeppe Reviewers: John Palmieri
Report Upstream: Fixed upstream, in a later stable release. Work issues:
Branch: 57aff70 (Commits, GitHub, GitLab) Commit: 57aff708ab601cf3d320ff029191721cd7ff4594
Dependencies: Stopgaps:

Status badges

Description (last modified by Volker Braun)

[latte_int-1.7.6] /bin/bash ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I../../code     -g -O2 -c -o xreadlink.lo xreadlink.c
[latte_int-1.7.6] libtool: compile:  gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I../../code -g -O2 -c xreadlink.c  -fPIC -DPIC -o .libs/xreadlink.o
[latte_int-1.7.6] /bin/bash ../../libtool  --tag=CC   --mode=link gcc  -g -O2  -no-undefined  -Wl,-rpath-link,/var/lib/buildbot/slave/sage_git/build/local/lib -L/var/lib/buildbot/slave/sage_git/build/local/lib -Wl,-rpath,/var/lib/buildbot/slave/sage_git/build/local/lib -Wl,-rpath-link,/var/lib/buildbot/slave/sage_git/build/local/lib -L/var/lib/buildbot/slave/sage_git/build/local/lib -Wl,-rpath,/var/lib/buildbot/slave/sage_git/build/local/lib  -o libgnu.la  allocator.lo areadlink.lo careadlinkat.lo exitfail.lo malloca.lo progname.lo unistd.lo xmalloc.lo xalloc-die.lo xreadlink.lo  
[latte_int-1.7.6] libtool: link: ar cru .libs/libgnu.a .libs/allocator.o .libs/areadlink.o .libs/careadlinkat.o .libs/exitfail.o .libs/malloca.o .libs/progname.o .libs/unistd.o .libs/xmalloc.o .libs/xalloc-die.o .libs/xreadlink.o 
[latte_int-1.7.6] ar: `u' modifier ignored since `D' is the default (see `U')
[latte_int-1.7.6] libtool: link: ranlib .libs/libgnu.a
[latte_int-1.7.6] libtool: link: ( cd ".libs" && rm -f "libgnu.la" && ln -s "../libgnu.la" "libgnu.la" )
[latte_int-1.7.6] Making all in latte
[latte_int-1.7.6] Making all in .
[latte_int-1.7.6] g++ -DHAVE_CONFIG_H -I. -I../../code  -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\"  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include  -g -O2 -c -o maximize.o maximize.cpp
[latte_int-1.7.6] /bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../code  -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\"  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include  -g -O2 -c -o barvinok/dec.lo barvinok/dec.cpp
[latte_int-1.7.6] libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../code -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\" -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include -g -O2 -c barvinok/dec.cpp  -fPIC -DPIC -o barvinok/.libs/dec.o
[latte_int-1.7.6] /bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../code  -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\"  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include  -g -O2 -c -o barvinok/barvinok.lo barvinok/barvinok.cpp
[latte_int-1.7.6] libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../code -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\" -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include -g -O2 -c barvinok/barvinok.cpp  -fPIC -DPIC -o barvinok/.libs/barvinok.o
[latte_int-1.7.6] /bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../code  -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\"  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include  -g -O2 -c -o barvinok/ComputeOmega.lo barvinok/ComputeOmega.cpp
[latte_int-1.7.6] libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../code -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\" -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include -g -O2 -c barvinok/ComputeOmega.cpp  -fPIC -DPIC -o barvinok/.libs/ComputeOmega.o
[latte_int-1.7.6] /bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../code  -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\"  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include  -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include  -g -O2 -c -o count.lo count.cpp
[latte_int-1.7.6] libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../code -I../../code -DINSTALLDIR=\"/var/lib/buildbot/slave/sage_git/build/local/bin\" -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -I/var/lib/buildbot/slave/sage_git/build/local/include -D__STDC_LIMIT_MACROS -D_4ti2_GMP_ -I/var/lib/buildbot/slave/sage_git/build/local/include -g -O2 -c count.cpp  -fPIC -DPIC -o .libs/count.o
[latte_int-1.7.6] In file included from count.h:35,
[latte_int-1.7.6]                  from count.cpp:26:
[latte_int-1.7.6] ExponentialSubst.h:62:3: error: ISO C++17 does not allow dynamic exception specifications
[latte_int-1.7.6]    62 |   throw(NotGenericException);
[latte_int-1.7.6]       |   ^~~~~
[latte_int-1.7.6] ExponentialSubst.h:67:3: error: ISO C++17 does not allow dynamic exception specifications
[latte_int-1.7.6]    67 |   throw(NotGenericException);
[latte_int-1.7.6]       |   ^~~~~
[latte_int-1.7.6] Makefile:2442: recipe for target 'count.lo' failed
[latte_int-1.7.6] make[7]: *** [count.lo] Error 1
[latte_int-1.7.6] Makefile:2502: recipe for target 'all-recursive' failed
[latte_int-1.7.6] make[6]: *** [all-recursive] Error 1
[latte_int-1.7.6] Makefile:841: recipe for target 'all-recursive' failed
[latte_int-1.7.6] make[5]: *** [all-recursive] Error 1
[latte_int-1.7.6] Makefile:778: recipe for target 'all' failed
[latte_int-1.7.6] make[4]: *** [all] Error 2
[latte_int-1.7.6] Makefile:912: recipe for target 'all-recursive' failed
[latte_int-1.7.6] make[3]: *** [all-recursive] Error 1
[latte_int-1.7.6] ********************************************************************************
[latte_int-1.7.6] Error building latte_int-1.7.6
[latte_int-1.7.6] ********************************************************************************

See also https://github.com/latte-int/latte/issues/24

Change History (14)

comment:1 Changed 6 months ago by Volker Braun

Description: modified (diff)

comment:2 Changed 6 months ago by Dima Pasechnik

Cc: Matthias Köppe added

comment:3 Changed 6 months ago by François Bissey

I just opened that github issue 13 months ago :)

comment:4 Changed 5 months ago by Matthias Köppe

Branch: u/mkoeppe/latte_int__exponentialsubst_h_62_3__error__iso_c__17_does_not_allow_dynamic_exception_specifications

comment:5 Changed 5 months ago by Matthias Köppe

Authors: Matthias Koeppe
Commit: 57aff708ab601cf3d320ff029191721cd7ff4594
Status: newneeds_review

New commits:

57aff70build/pkgs/latte_int/patches/6dbf7f07d5c9e1f3afe793f782d191d4465088ae.patch: New

comment:6 Changed 5 months ago by Dima Pasechnik

will this be fixed upstream?

comment:7 Changed 5 months ago by Matthias Köppe

Yes, this is an upstream commit, but I haven't made a new release yet.

comment:8 Changed 5 months ago by Dima Pasechnik

Report Upstream: N/AFixed upstream, in a later stable release.

comment:9 Changed 4 months ago by Matthias Köppe

Cc: John Palmieri added

comment:10 Changed 4 months ago by John Palmieri

My first attempt (with the develop branch): latte_int built successfully, but I was using the sytem gcc on OS X. My second attempt failed: I tried ./configure --with-system-gcc=no --enable-latte_int to force it to build and use Sage's gcc-11, and then I did make latte_int, but (a) it didn't build gcc, just went ahead and built the prereqs for latte_int, including ntl, apparently using the system compiler, and then (b) it tried to build latte_int but it didn't finish configuring, saying

checking for NTL >= 5.4... not found
configure: WARNING: NTL >= 5.4 was not found.  Please make sure NTL is compiled correctly.
configure: error: NTL not found!

The third attempt: ./configure --with-system-gcc=no --enable-latte_int and then make gcc and then make latte_int. Building 4ti2 failed, saying

Undefined symbols for architecture x86_64:
  "__ZlsRSoPK12__mpz_struct", referenced from:
      __ZN6_4ti2_14VectorArrayAPI19set_entry_mpz_classEiiRK10__gmp_exprIA1_12__mpz_structS3_E in lib4ti2int32_la-VectorArrayAPI.o
ld: symbol(s) not found for architecture x86_64

So I'm having problems reproducing the issue in order to test it. We could just merge it, since the patch has been accepted upstream, but it seems that there are other issues here. Maybe the dependencies of 4ti2 and some of the other packages need improving?

comment:11 Changed 3 months ago by John Palmieri

Reviewers: John Palmieri
Status: needs_reviewpositive_review

Since this has been merged upstream, let's merge it here, too.

comment:12 Changed 3 months ago by Matthias Köppe

Thank you! It will be a while until I can make a proper new release of LattE

comment:13 Changed 3 months ago by Matthias Köppe

Milestone: sage-9.7sage-9.8

comment:14 Changed 3 months ago by Volker Braun

Branch: u/mkoeppe/latte_int__exponentialsubst_h_62_3__error__iso_c__17_does_not_allow_dynamic_exception_specifications57aff708ab601cf3d320ff029191721cd7ff4594
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.