#20350: Work with gcc's new cxx11 abi
----------------------------------+----------------------------
   Reporter:  vbraun              |            Owner:
       Type:  defect              |           Status:  new
   Priority:  major               |        Milestone:  sage-7.2
  Component:  packages: standard  |         Keywords:
  Merged in:                      |          Authors:
  Reviewers:                      |  Report Upstream:  N/A
Work issues:                      |           Branch:
     Commit:                      |     Dependencies:
   Stopgaps:                      |
----------------------------------+----------------------------
 gcc-5 introduces a new cxx11 abi, and linking C++ libraries with different
 abi versions will cause missing `std::__cxx11` symbols like
 {{{
 undefined reference to `std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char>
 >::push_back(char)@GLIBCXX_3.4.21'
 }}}
 This is an issue whenever we build our own gcc; Right now that means
 gcc-4.9.3 which only supports the old abi. So linking with any system C++
 library will fail, and there are various optional libraries that packages
 test for and link when available. Also, gcc-5 system installations may
 default to the old abi (e.g. Fedora), so we can't just do a version check.

 Originated in this thread: https://groups.google.com/d/msg/sage-
 devel/2lRw3RO1ZlQ/H8fc7fCYEAAJ

 Its clear that we must update our gcc to 5 if we ever want to be able to
 link to new-abi libraries. Then we could also match the abi by putting
 `-D_GLIBCXX_USE_CXX11_ABI=[0|1]` into the `CFLAGS`

 The only alternative would be to never link against a system C++ library,
 e.g. disable the optional libqd support in libfplll (and probably more).

--
Ticket URL: <http://trac.sagemath.org/ticket/20350>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" 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-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to