Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#27252 closed defect (duplicate)

Giac fails to build

Reported by: vbraun Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: packages: standard Keywords: giac
Cc: frederichan, parisse, slelievre Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Seems like the C++11 switch broke giac on Debian 8 and Ubuntu 14:

[giac-1.5.0.37] libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I.. -DIN_GIAC -I. -I.. -I. -I.. -I/home/buildbot/slave/sage_git/build/local/include -g -O2 -fno-strict-aliasing -DGIAC_GENERIC_CONSTANTS -MT global.lo -MD -MP -MF .deps/global.Tpo -c global.cc  -fPIC -DPIC -o .libs/global.o
[giac-1.5.0.37] global.cc: In function 'bool giac::my_isnan(double)':
[giac-1.5.0.37] global.cc:4145:19: error: call of overloaded 'isnan(double&)' is ambiguous
[giac-1.5.0.37]      return isnan(d);
[giac-1.5.0.37]                    ^
[giac-1.5.0.37] global.cc:4145:19: note: candidates are:
[giac-1.5.0.37] In file included from /usr/include/features.h:374:0,
[giac-1.5.0.37]                  from /usr/include/i386-linux-gnu/c++/4.9/bits/os_defines.h:39,
[giac-1.5.0.37]                  from /usr/include/i386-linux-gnu/c++/4.9/bits/c++config.h:430,
[giac-1.5.0.37]                  from /usr/include/c++/4.9/cstddef:44,
[giac-1.5.0.37]                  from first.h:347,
[giac-1.5.0.37]                  from giacPCH.h:7,
[giac-1.5.0.37]                  from global.cc:3:
[giac-1.5.0.37] /usr/include/i386-linux-gnu/bits/mathcalls.h:234:1: note: int isnan(double)
[giac-1.5.0.37]  __MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
[giac-1.5.0.37]  ^
[giac-1.5.0.37] In file included from first.h:498:0,
[giac-1.5.0.37]                  from giacPCH.h:7,
[giac-1.5.0.37]                  from global.cc:3:
[giac-1.5.0.37] /usr/include/c++/4.9/cmath:626:3: note: constexpr bool std::isnan(long double)
[giac-1.5.0.37]    isnan(long double __x)
[giac-1.5.0.37]    ^
[giac-1.5.0.37] /usr/include/c++/4.9/cmath:622:3: note: constexpr bool std::isnan(double)
[giac-1.5.0.37]    isnan(double __x)
[giac-1.5.0.37]    ^
[giac-1.5.0.37] /usr/include/c++/4.9/cmath:618:3: note: constexpr bool std::isnan(float)
[giac-1.5.0.37]    isnan(float __x)
[giac-1.5.0.37]    ^
[giac-1.5.0.37] global.cc: In function 'bool giac::my_isinf(double)':
[giac-1.5.0.37] global.cc:4158:19: error: call of overloaded 'isinf(double&)' is ambiguous
[giac-1.5.0.37]      return isinf(d);
[giac-1.5.0.37]                    ^
[giac-1.5.0.37] global.cc:4158:19: note: candidates are:
[giac-1.5.0.37] In file included from /usr/include/features.h:374:0,
[giac-1.5.0.37]                  from /usr/include/i386-linux-gnu/c++/4.9/bits/os_defines.h:39,
[giac-1.5.0.37]                  from /usr/include/i386-linux-gnu/c++/4.9/bits/c++config.h:430,
[giac-1.5.0.37]                  from /usr/include/c++/4.9/cstddef:44,
[giac-1.5.0.37]                  from first.h:347,
[giac-1.5.0.37]                  from giacPCH.h:7,
[giac-1.5.0.37]                  from global.cc:3:
[giac-1.5.0.37] /usr/include/i386-linux-gnu/bits/mathcalls.h:201:1: note: int isinf(double)
[giac-1.5.0.37]  __MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
[giac-1.5.0.37]  ^
[giac-1.5.0.37] In file included from first.h:498:0,
[giac-1.5.0.37]                  from giacPCH.h:7,
[giac-1.5.0.37]                  from global.cc:3:
[giac-1.5.0.37] /usr/include/c++/4.9/cmath:608:3: note: constexpr bool std::isinf(long double)
[giac-1.5.0.37]    isinf(long double __x)
[giac-1.5.0.37]    ^
[giac-1.5.0.37] /usr/include/c++/4.9/cmath:604:3: note: constexpr bool std::isinf(double)
[giac-1.5.0.37]    isinf(double __x)
[giac-1.5.0.37]    ^
[giac-1.5.0.37] /usr/include/c++/4.9/cmath:600:3: note: constexpr bool std::isinf(float)
[giac-1.5.0.37]    isinf(float __x)
[giac-1.5.0.37]    ^
[giac-1.5.0.37] Makefile:786: recipe for target 'global.lo' failed
[giac-1.5.0.37] make[6]: *** [global.lo] Error 1

Change History (5)

comment:1 Changed 2 years ago by fbissey

So g++-4.9 by the look of things. I guess C++11 support may not have been complete with that compiler. We may need to up the version of gcc at which we trigger a build.

comment:2 Changed 2 years ago by slelievre

  • Cc frederichan parisse slelievre added
  • Keywords giac added

comment:3 Changed 2 years ago by jdemeyer

  • Milestone changed from sage-8.7 to sage-duplicate/invalid/wontfix
  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #27263.

comment:4 Changed 2 years ago by embray

Oops, well, apparently the duplicate is mine. I did attach a workaround but it's not ideal. Maybe it would be better to not force -std=c++11 on giac...

comment:5 Changed 2 years ago by fbissey

That would defeat the purpose of #26787 but I then in that ticket I probably should have blacklisted compiler with experimental support of c++11 (gcc<5).

Note: See TracTickets for help on using tickets.