[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