On Sunday, May 9, 2021 at 11:24:23 AM UTC+1 Volker Braun wrote:

> This is c++11 dual abi, see 
> https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
>
> IMHO we just shouldn't use the system version then, but building Sage with 
> -D_GLIBCXX_USE_CXX11_ABI=0 should allow you to link with old-style abi 
> libraries.
>
> The default value of _GLIBCXX_USE_CXX11_ABI can be changed by the distro, 
> which is probably what accounts for the differences seen in this thread.
>

Are you saying it's a bug in Fedora 32, they should have provided dual ABI, 
like Gentoo does, but they don't?
Or that they provide an old-style ABI, and we can use ` 
-D_GLIBCXX_USE_CXX11_ABI=0` to make this work for Sage?
Isn't c++11 "old" nowadays?

I tried to write a short C++ code do produce this error, so that we can put 
it into our gcc/spkg-configure.m4, but I cannot
figure it out.  


 

>
>
> On Saturday, May 8, 2021 at 7:01:13 PM UTC+2 Steven Trogdon wrote:
>
>> Building Givaro on Gentoo I have
>>
>> CXXFLAGS=-O2 -pipe -march=native -O2 -pipe   -fabi-version=6   -msse 
>> -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx
>>
>> Your Redhat has
>>
>> CXXFLAGS=-O2 -g -pipe -Wall -Werror=format-security 
>> -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions 
>> -fstack-protector-strong -grecord-gcc-switches 
>> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 
>> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic 
>> -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
>>
>> Could the  abi-version=6 be the issue?
>>
>> On Saturday, May 8, 2021 at 6:01:02 AM UTC-6 dim...@gmail.com wrote:
>>
>>> one has 
>>> https://kojipkgs.fedoraproject.org//packages/givaro/4.1.1/1.fc32/data/logs/x86_64/build.log
>>> and other logs there
>>>
>>> On Saturday, May 8, 2021 at 12:45:07 PM UTC+1 Dima Pasechnik wrote:
>>>
>>>> On Saturday, May 8, 2021 at 12:34:11 PM UTC+1 François Bissey wrote:
>>>>
>>>>> What compiler and flags have used to compile fedora 32 givaro? Can we 
>>>>> easily find out?
>>>>
>>>>
>>>> the compiler used to build Sage is g++ 10.2.1
>>>>
>>>> $ g++ -v
>>>> Using built-in specs.
>>>> COLLECT_GCC=/usr/bin/g++
>>>> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/10/lto-wrapper
>>>> OFFLOAD_TARGET_NAMES=nvptx-none
>>>> OFFLOAD_TARGET_DEFAULT=1
>>>> Target: x86_64-redhat-linux
>>>> Configured with: ../configure --enable-bootstrap 
>>>> --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,lto --prefix=/usr 
>>>> --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=
>>>> http://bugzilla.redhat.com/bugzilla --enable-shared 
>>>> --enable-threads=posix --enable-checking=release --enable-multilib 
>>>> --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions 
>>>> --enable-gnu-unique-object --enable-linker-build-id 
>>>> --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin 
>>>> --enable-initfini-array --with-isl --enable-offload-targets=nvptx-none 
>>>> --without-cuda-driver --enable-gnu-indirect-function --enable-cet 
>>>> --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
>>>> Thread model: posix
>>>> Supported LTO compression algorithms: zlib zstd
>>>> gcc version 10.2.1 20201125 (Red Hat 10.2.1-9) (GCC) 
>>>>
>>>>  
>>>>
>>>>>
>>>>>
>>>>> > On 8/05/2021, at 23:31, Dima Pasechnik <dim...@gmail.com> wrote: 
>>>>> > 
>>>>> > With system Givaro, one gets 
>>>>> > 
>>>>> > [dochtml] ImportError: 
>>>>> /home/scratch2/dimpase/sage/sage/local/lib64/python3.8/site-packages/sage/matrix/
>>>>> matrix_modn_sparse.cpython-38-x86_64-linux-gnu.so: undefined symbol: 
>>>>> _ZNK6Givaro7IntegercvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEB5cxx11Ev
>>>>>  
>>>>>
>>>>> > make[3]: *** [Makefile:2280: doc-html] Error 1 
>>>>> > 
>>>>> > which demangled says 
>>>>> > 
>>>>> > $ c++filt 
>>>>> _ZNK6Givaro7IntegercvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEB5cxx11Ev
>>>>>  
>>>>>
>>>>> > Givaro::Integer::operator std::__cxx11::basic_string<char, 
>>>>> std::char_traits<char>, std::allocator<char> >[abi:cxx11]() const 
>>>>> > 
>>>>> > The system library has Givaro::Integer::operator 
>>>>> std::__cxx11::basic_string<char, std::char_traits<char>, 
>>>>> std::allocator<char> >() const 
>>>>> > 
>>>>> > (no of that weird [abi:cxx11] qualifier) 
>>>>> > 
>>>>> > Any ideas how to fix this? (besides not using system Givaro) ? 
>>>>> > 
>>>>> > Dima 
>>>>> > 
>>>>> > -- 
>>>>> > 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 sage-devel+...@googlegroups.com. 
>>>>> > To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/sage-devel/b187faf3-50c4-42c4-ae37-77c5a3902bbcn%40googlegroups.com.
>>>>>  
>>>>>
>>>>>
>>>>>

-- 
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 sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/ce133454-fb09-4adf-b865-c9256c851782n%40googlegroups.com.

Reply via email to