[MacPorts] #59908: upc @5.2.0.1: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?

MacPorts noreply at macports.org
Fri Jan 3 06:19:16 UTC 2020


#59908: upc @5.2.0.1: error: no member named 'fancy_abort' in namespace 'std::__1';
did you mean simply 'fancy_abort'?
-------------------------+----------------------
  Reporter:  ryandesign  |      Owner:  tenomoto
      Type:  defect      |     Status:  assigned
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.6.2
Resolution:              |   Keywords:
      Port:  upc         |
-------------------------+----------------------

Comment (by kencu):

 This will probably be the similar to the older gcc build failures we saw
 with gcc5, gcc4.7-9 a few years ago with a new xcode version that was
 subsequently fixed in a gcc backpatch for gcc5 at least.

 e.g. this bug report <https://www.mail-archive.com/gcc-
 bugs at gcc.gnu.org/msg543787.html>.

 {{{
 The problem is that <functional> is included (via <map>) after abort has
 been
 defined as a macro to fancy_abort. And thus when the C++ standard headers
 try
 to call std::abort, they end up calling std::fancy_abort, which of course
 doesn't exist.

 A simple fix is to include <map> in gcc/config.h before we mess with
 abort.
 }}}

 {{{
 diff -pur a/gcc/system.h b/gcc/system.h
 --- a/gcc/system.h      2015-01-05 13:33:28.000000000 +0100
 +++ b/gcc/system.h      2017-09-03 18:28:15.000000000 +0200
 @@ -216,6 +216,7 @@ extern int errno;

  #ifdef __cplusplus
  # include <algorithm>
 +# include <map>
  # include <cstring>
  # include <utility>
  #endif
 }}}

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


More information about the macports-tickets mailing list