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.

Reply via email to