#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: |
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
comment:2 Changed 2 years ago by
- Cc frederichan parisse slelievre added
- Keywords giac added
comment:3 Changed 2 years ago by
- 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
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
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.
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.