Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Giac fails to build #27252

Closed
vbraun opened this issue Feb 10, 2019 · 5 comments
Closed

Giac fails to build #27252

vbraun opened this issue Feb 10, 2019 · 5 comments

Comments

@vbraun
Copy link
Member

vbraun commented Feb 10, 2019

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

CC: @frederichan-IMJPRG @sagetrac-parisse @slel

Component: packages: standard

Keywords: giac

Issue created by migration from https://trac.sagemath.org/ticket/27252

@vbraun vbraun added this to the sage-8.7 milestone Feb 10, 2019
@kiwifb
Copy link
Member

kiwifb commented Feb 10, 2019

comment:1

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.

@slel
Copy link
Member

slel commented Feb 10, 2019

Changed keywords from none to giac

@jdemeyer
Copy link

comment:3

Duplicate of #27263.

@jdemeyer jdemeyer removed this from the sage-8.7 milestone Feb 12, 2019
@embray
Copy link
Contributor

embray commented Feb 12, 2019

comment:4

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...

@kiwifb
Copy link
Member

kiwifb commented Feb 12, 2019

comment:5

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants