[MacPorts] #55730: smartmontools @6.6.0 needs new variant(s) for older systems

MacPorts noreply at macports.org
Wed Jan 24 09:30:04 UTC 2018


#55730: smartmontools @6.6.0 needs new variant(s) for older systems
----------------------------+----------------------
  Reporter:  MartySkinner   |      Owner:  RJVB
      Type:  defect         |     Status:  assigned
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:  2.4.2
Resolution:                 |   Keywords:
      Port:  smartmontools  |
----------------------------+----------------------

Comment (by RJVB):

 Replying to [comment:7 kencu]:
 > On <10.9 the cxx11 1.1 PG modifies the clang call to link against the
 system libstc++ to redirect it to link against the gcc7 libstdc++ instead
 (which is c++11 compatible), and use the headers for that library.

 Ah, that's news to me. That's more or less what I always did when still on
 10.6, but when I brought it up that always led to remarks on how this was
 certainly problematic because of mixing and (mis)matching libstdc++
 versions.

 Not that it's directly relevant but maybe I should pick up my pet project
 to get a -stdlib option into G++ again (the patch should be ready for use
 in MacPorts) :)

 > It also passes a flag to force the use of several calls to be compatible
 with the older libstdc++ style of calling, to make it compatible with
 software built against the older system libstdc++.

 I only see `-D_GLIBCXX_USE_CXX11_ABI=0`?

 BTW:

 {{{
 # GCC compilers can not use libc++
 }}}

 This is not true in the absolute sense. Instructions on how to use libc++
 with GCC aren't hard to find, and I already proposed a patch to port:gcc7
 that implements those instructions.

 If I still had a separate pre-10.9 system I'd try tinkering as follows:
 1 install libc++ into $prefix/lib, built following the instructions for
 Linux, so linking against libstd++/libsupc++ itself
 2 add a -stdlib=libc++ option to gcc7

 Experience on Linux (using clang 5) hasn't yet exposed any issues, and
 there I am very likely using libraries originally built against the gcc
 4.x, gcc 5, 6 and 7 versions of libstdc++ in a single runtime address
 space, in addition to libc++.

--
Ticket URL: <https://trac.macports.org/ticket/55730#comment:10>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list