graph-tool 2.57 build fails on macOS Ventura
Bug reports:
Please follow the general troubleshooting steps first:
-
Are you running the latest graph-toolversion? -
Do you observe the problem with the current git version? -
Are you using Macports or Homebrew? If yes, please submit an issue there instead: https://github.com/Homebrew/brew/issues and https://trac.macports.org/newticket -
Did you compile graph-toolmanually? -
If you answered yes above, did you use the exact same compiler to build graph-tool,boost-pythonandPython?
I'm the graph-tool maintainer for MacPorts. graph-tool builds fail on macOS Ventura boxes. I tested separately on a Mac Studio with an M2 Ultra, an MBA with an M1, and a Mac Mini x86_64, and see the same issue. The exact same build procedure works for graph-tool version 2.46.
The build errors are:
:info:build In file included from ./src/graph/graph.hh:42:
:info:build ./src/graph/graph_properties.hh:466:19: error: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
:info:build : public std::unary_function<typename IndexMap::key_type, size_t>
:info:build ~~~~~^~~~~~~~~~~~~~
:info:build __unary_function
A full log file is attached with ./configure and other outputs:
main_py310-graph-tool_x86_64.log.gz
Build environment:
macOS 13.4.1 22F770820d arm64 Xcode 14.3.1 14E300c Python 3.10
The MacPorts build routines are standard based on graph-tool build-from-source instructions and have been more-or-less working on x86_64 boxes for years:
https://github.com/macports/macports-ports/blob/master/python/py-graph-tool/Portfile
Do not forget to supply the following information:
-
A minimal and self-contained example that shows the problem. -
Your operating system. -
The Python version you are using. -
If you compiled graph-tool manually: Your compiler version, as well as the version of Boost being used. -
If you are reporting a compilation error, please provide the entire ./configureoutput, as well as the entire contents of theconfig.logfile and the entire compilation output.