For eclib: in its configure.ac there is this: # Uncomment this to check for C++-11 compliance (no C++-11 features are used) #AX_CXX_COMPILE_STDCXX_11([],[optional])
so perhaps uncommenting that will make it work with the new NTL without any further tweaking? I don't have time to do this now but Francois is welcome to send a pull request to me. John On 17 March 2016 at 01:25, François Bissey <[email protected]> wrote: > On 03/15/16 09:28, François Bissey wrote: >> >> On 03/15/16 05:23, Victor Shoup wrote: >>> >>> That is a bummer with the C++11 issues. >>> The way I see it, C++11 is the future, and pretty much all >>> C++ must eventually deal with it. >>> >>> Looking over the build issues with singular -- if the make files don't >>> respect CFLAGS or CXXFLAGS, then maybe one can make >>> the g++ command itself be a script that calls the "real" g++ >>> with the right flags... >>> >> >> That's about the only thing I didn't try yet, having >> CXX="g++ -std=c++11" >> That may work. Some objects (that look like debugging objects) >> are purposefully build without any *FLAGS so defining the >> compiler is about the only way to get there. >> > > Defining CXX="g++ -std=c++11" does work. At least singular compiles. > > I will do a more comprehensive battery of tests in sage-on-gentoo as time > allows. > > * flint will also need some love for its ntl interface but it does > obey CXXFLAGS. And with CXXFLAGS="-std=c++11" it does compile and > passes it test suite. > > * similarly eclib fails at configuration time but is able to take > CXXFLAGS. Compiles and passes its tests with CXXFLAGS="-std=c++11". > > * linbox-1.3.2 fails to find ntl for the linboxsage library > but it will compile and work without it. > It does respect CXXFLAGS and will find ntl at configuration time > if CXXFLAGS="-std=c++11" is provided. Unfortunately compilation fails > in that case: > /bin/sh ../../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ > -DHAVE_CONFIG_H -I. -I../.. -O2 -g -DNDEBUG -U_LB_DEBUG > -DDISABLE_COMMENTATOR -std=c++11 -c -o diophantine-solver.lo > diophantine-solver.C > libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -O2 > -g -DNDEBUG -U_LB_DEBUG -DDISABLE_COMMENTATOR -std=c++11 -c > diophantine-solver.C -fPIC -DPIC -o .libs/diophantine-solver.o > In file included from ../../linbox/vector/vector-domain-gf2.h:59:0, > from ../../linbox/vector/vector-domain.h:1293, > from ../../linbox/matrix/matrix-domain.h:42, > from ../../linbox/matrix/sparse.h:75, > from ../../linbox/blackbox/sparse.h:57, > from ../../linbox/blackbox/lambda-sparse.h:29, > from ../../linbox/algorithms/rational-solver.h:43, > from ../../linbox/algorithms/diophantine-solver.h:29, > from diophantine-solver.C:25: > ../../linbox/field/gf2.h: In function 'void std::swap(std::_Bit_reference, > std::_Bit_reference)': > ../../linbox/field/gf2.h:985:14: error: redefinition of 'void > std::swap(std::_Bit_reference, std::_Bit_reference)' > inline void swap(stdBitReference __x, stdBitReference __y) > ^ > In file included from > /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/vector:65:0, > from ../../linbox/util/debug.h:42, > from ../../linbox/algorithms/rational-solver.h:38, > from ../../linbox/algorithms/diophantine-solver.h:29, > from diophantine-solver.C:25: > /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/stl_bvector.h:112:3: > note: 'void std::swap(std::_Bit_reference, std::_Bit_reference)' previously > defined here > swap(_Bit_reference __x, _Bit_reference __y) noexcept > ^ > > So linbox-1.3.2 would have to go without ntl support. > Cannot comment on more recent linbox at the moment but c++11 support was > requested by upstream for the upgrade currently under review. So should be > OK. > > * sage itself will probably need extra flags for anything that depends > on ntl. > > In a way it is a partial c++11 support card for sage components. > > > Francois > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
