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

eclib-20170330 fails to build with xcode 9.0 #28

Closed
kiwifb opened this issue Sep 20, 2017 · 12 comments
Closed

eclib-20170330 fails to build with xcode 9.0 #28

kiwifb opened this issue Sep 20, 2017 · 12 comments

Comments

@kiwifb
Copy link
Contributor

kiwifb commented Sep 20, 2017

Just released this morning. I haven't tried with master yet as I don't have autotools on the mac. A lot more warnings about C++11 which should go away with master. But I am not sure of those

[eclib-20170330] libtool: compile:  clang++ -DPACKAGE_NAME=\"eclib\" -DPACKAGE_TARNAME=\"eclib\" -DPACKAGE_VERSION=\"20170330\" "-DPACKAGE_STRING=\"eclib 20170330\"" -DPACKAGE_BUGREPORT=\"john.cremona@gmail.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"eclib\" -DVERSION=\"20170330\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_STDCXX_0X=/**/" "-DHAVE_STDCXX_0X=/**/" -DHAVE_UNORDERED_MAP=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -Drestrict=__restrict -DHAVE_FLOOR=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SQRT=1 -DHAVE_STRCHR=1 -I. -DFLINT_LEVEL=1 -I/Users/fbissey/build/sage/local/include -I/Users/fbissey/build/sage/local/include -I/Users/fbissey/build/sage/local/include -D NTL_ALL -g -O3 -MT compproc.lo -MD -MP -MF .deps/compproc.Tpo -c compproc.cc  -fno-common -DPIC -o .libs/compproc.o
[eclib-20170330] In file included from compproc.cc:24:
[eclib-20170330] In file included from ./eclib/compproc.h:27:
[eclib-20170330] ./eclib/interface.h:165:1: warning: inline namespaces are a C++11 feature [-Wc++11-inline-namespace]
[eclib-20170330] inline namespace __1 {
[eclib-20170330] ^
[eclib-20170330] ./eclib/interface.h:194:28: warning: first declaration of function template specialization of 'abs' outside namespace '__1' is a C++11 extension [-Wc++11-extensions]
[eclib-20170330] template <> inline RR std::abs(const CC &z)
[eclib-20170330]                            ^
[eclib-20170330] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/complex:857:1: note: explicitly specialized declaration is here
[eclib-20170330] abs(const complex<_Tp>& __c)
[eclib-20170330] ^
[eclib-20170330] In file included from compproc.cc:24:
[eclib-20170330] In file included from ./eclib/compproc.h:27:
[eclib-20170330] ./eclib/interface.h:200:28: warning: first declaration of function template specialization of 'exp' outside namespace '__1' is a C++11 extension [-Wc++11-extensions]
[eclib-20170330] template <> inline CC std::exp(const CC &z)
[eclib-20170330]                            ^
[eclib-20170330] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/complex:1060:1: note: explicitly specialized declaration is here
[eclib-20170330] exp(const complex<_Tp>& __x)
[eclib-20170330] ^
[eclib-20170330] In file included from compproc.cc:24:
[eclib-20170330] In file included from ./eclib/compproc.h:27:
[eclib-20170330] In file included from ./eclib/interface.h:71:
[eclib-20170330] In file included from /Users/fbissey/build/sage/local/include/NTL/ZZ.h:19:
[eclib-20170330] In file included from /Users/fbissey/build/sage/local/include/NTL/tools.h:18:
[eclib-20170330] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cmath:572:12: error: call to function 'isnan' that is neither visible in the template definition nor found by argument-dependent lookup
[eclib-20170330]     return isnan(__lcpp_x);
[eclib-20170330]            ^
[eclib-20170330] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/complex:602:9: note: in instantiation of function template specialization 'std::__1::__libcpp_isnan_or_builtin<NTL::RR>' requested here
[eclib-20170330]     if (__libcpp_isnan_or_builtin(__x) && __libcpp_isnan_or_builtin(__y))
[eclib-20170330]         ^
[eclib-20170330] compproc.cc:53:19: note: in instantiation of function template specialization 'std::__1::operator*<NTL::RR>' requested here
[eclib-20170330]       y= sqrt(oldx*y);
[eclib-20170330]                   ^
[eclib-20170330] ./eclib/interface.h:169:13: note: 'isnan' should be declared prior to the call site or in namespace 'NTL'
[eclib-20170330] inline bool isnan(const RR& z) {
[eclib-20170330]             ^
[eclib-20170330] In file included from compproc.cc:24:
[eclib-20170330] In file included from ./eclib/compproc.h:27:
[eclib-20170330] In file included from ./eclib/interface.h:71:
[eclib-20170330] In file included from /Users/fbissey/build/sage/local/include/NTL/ZZ.h:19:
[eclib-20170330] In file included from /Users/fbissey/build/sage/local/include/NTL/tools.h:18:
[eclib-20170330] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cmath:592:12: error: call to function 'isinf' that is neither visible in the template definition nor found by argument-dependent lookup
[eclib-20170330]     return isinf(__lcpp_x);
[eclib-20170330]            ^
[eclib-20170330] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/complex:605:13: note: in instantiation of function template specialization 'std::__1::__libcpp_isinf_or_builtin<NTL::RR>' requested here
[eclib-20170330]         if (__libcpp_isinf_or_builtin(__a) || __libcpp_isinf_or_builtin(__b))
[eclib-20170330]             ^
[eclib-20170330] compproc.cc:53:19: note: in instantiation of function template specialization 'std::__1::operator*<NTL::RR>' requested here
[eclib-20170330]       y= sqrt(oldx*y);
[eclib-20170330]                   ^
[eclib-20170330] ./eclib/interface.h:166:13: note: 'isinf' should be declared prior to the call site or in namespace 'NTL'
[eclib-20170330] inline bool isinf(const RR& z) {
[eclib-20170330]             ^
[eclib-20170330] 3 warnings and 2 errors generated.
[eclib-20170330] make[3]: *** [compproc.lo] Error 1
[eclib-20170330] make[2]: *** [all-recursive] Error 1
[eclib-20170330] Error building eclib.
@kiwifb
Copy link
Contributor Author

kiwifb commented Sep 20, 2017

Going to 20170815 remove the c++11 warnings but not the errors.

[eclib-20170815] libtool: compile:  clang++ -std=gnu++11 -DPACKAGE_NAME=\"eclib\" -DPACKAGE_TARNAME=\"eclib\" -DPACKAGE_VERSION=\"20170815\" "-DPACKAGE_STRING=\"eclib 20170815\"" -DPACKAGE_BUGREPORT=\"john.cremona@gmail.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"eclib\" -DVERSION=\"20170815\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -Drestrict=__restrict -DHAVE_FLOOR=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SQRT=1 -DHAVE_STRCHR=1 -I. -DFLINT_LEVEL=1 -I/Users/fbissey/build/sage/local/include -I/Users/fbissey/build/sage/local/include -I/Users/fbissey/build/sage/local/include -D NTL_ALL -g -O3 -MT compproc.lo -MD -MP -MF .deps/compproc.Tpo -c compproc.cc  -fno-common -DPIC -o .libs/compproc.o
[eclib-20170815] In file included from compproc.cc:24:
[eclib-20170815] In file included from ./eclib/compproc.h:27:
[eclib-20170815] In file included from ./eclib/interface.h:71:
[eclib-20170815] In file included from /Users/fbissey/build/sage/local/include/NTL/ZZ.h:19:
[eclib-20170815] In file included from /Users/fbissey/build/sage/local/include/NTL/tools.h:18:
[eclib-20170815] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cmath:572:12: error: call to function 'isnan' that is neither visible in the template definition nor found by argument-dependent lookup
[eclib-20170815]     return isnan(__lcpp_x);
[eclib-20170815]            ^
[eclib-20170815] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/complex:602:9: note: in instantiation of function template specialization 'std::__1::__libcpp_isnan_or_builtin<NTL::RR>' requested here
[eclib-20170815]     if (__libcpp_isnan_or_builtin(__x) && __libcpp_isnan_or_builtin(__y))
[eclib-20170815]         ^
[eclib-20170815] compproc.cc:53:19: note: in instantiation of function template specialization 'std::__1::operator*<NTL::RR>' requested here
[eclib-20170815]       y= sqrt(oldx*y);
[eclib-20170815]                   ^
[eclib-20170815] ./eclib/interface.h:169:13: note: 'isnan' should be declared prior to the call site or in namespace 'NTL'
[eclib-20170815] inline bool isnan(const RR& z) {
[eclib-20170815]             ^
[eclib-20170815] In file included from compproc.cc:24:
[eclib-20170815] In file included from ./eclib/compproc.h:27:
[eclib-20170815] In file included from ./eclib/interface.h:71:
[eclib-20170815] In file included from /Users/fbissey/build/sage/local/include/NTL/ZZ.h:19:
[eclib-20170815] In file included from /Users/fbissey/build/sage/local/include/NTL/tools.h:18:
[eclib-20170815] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cmath:592:12: error: call to function 'isinf' that is neither visible in the template definition nor found by argument-dependent lookup
[eclib-20170815]     return isinf(__lcpp_x);
[eclib-20170815]            ^
[eclib-20170815] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/complex:605:13: note: in instantiation of function template specialization 'std::__1::__libcpp_isinf_or_builtin<NTL::RR>' requested here
[eclib-20170815]         if (__libcpp_isinf_or_builtin(__a) || __libcpp_isinf_or_builtin(__b))
[eclib-20170815]             ^
[eclib-20170815] compproc.cc:53:19: note: in instantiation of function template specialization 'std::__1::operator*<NTL::RR>' requested here
[eclib-20170815]       y= sqrt(oldx*y);
[eclib-20170815]                   ^
[eclib-20170815] ./eclib/interface.h:166:13: note: 'isinf' should be declared prior to the call site or in namespace 'NTL'
[eclib-20170815] inline bool isinf(const RR& z) {
[eclib-20170815]             ^
[eclib-20170815] 2 errors generated.
[eclib-20170815] make[3]: *** [compproc.lo] Error 1
[eclib-20170815] make[2]: *** [all-recursive] Error 1
[eclib-20170815] Error building eclib.

@isuruf
Copy link
Contributor

isuruf commented Sep 20, 2017

Can you try with this patch, #19 (comment)

@kiwifb
Copy link
Contributor Author

kiwifb commented Sep 20, 2017

I will, just in case. But the error is not at the same level so I am not optimistic.

@isuruf
Copy link
Contributor

isuruf commented Sep 20, 2017

Following message is why I suggested it note: 'isinf' should be declared prior to the call site or in namespace 'NTL'

@kiwifb
Copy link
Contributor Author

kiwifb commented Sep 20, 2017

And right you were. Compilation is still going on my little laptop but I have gone past that error.

@kiwifb
Copy link
Contributor Author

kiwifb commented Sep 20, 2017

Finished now.

@dimpase
Copy link
Contributor

dimpase commented Sep 20, 2017

I presume the right patch was waiting here: https://trac.sagemath.org/ticket/12426#comment:315

@kiwifb
Copy link
Contributor Author

kiwifb commented Sep 20, 2017

Yes it is another version of it.

@dimpase
Copy link
Contributor

dimpase commented Sep 21, 2017

By the way, clang 5.0.0 happily compiles the code from eclib-20170330.tar.bz2 without any patches.

@kiwifb
Copy link
Contributor Author

kiwifb commented Sep 22, 2017

This should now be closed by 7643059 thank you Isuru for making the PR and John for merging it.
Is it a good point to have a release?

@kiwifb kiwifb closed this as completed Sep 22, 2017
@JohnCremona
Copy link
Owner

JohnCremona commented Sep 22, 2017 via email

@JohnCremona
Copy link
Owner

OK, I will make a new release in the next few days.

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

No branches or pull requests

4 participants