#68536 closed defect (fixed)

libretroshare fails to build on Sonoma: error: no template named 'binary_function' in namespace 'std'; did you mean '__binary_function'?

Reported by: barracuda156 Owned by: barracuda156
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: sonoma Cc:
Port: libretroshare

Description

https://github.com/RetroShare/libretroshare/issues/122

:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_libretroshare/libretroshare/work/libretroshare-a10087b27a804d0a43745aa39e7515dd691740f3/src/file_sharing/directory_updater.cc:28:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_libretroshare/libretroshare/work/libretroshare-a10087b27a804d0a43745aa39e7515dd691740f3/src/rsserver/p3face.h:27:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_libretroshare/libretroshare/work/libretroshare-a10087b27a804d0a43745aa39e7515dd691740f3/src/ft/ftserver.h:46:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_libretroshare/libretroshare/work/libretroshare-a10087b27a804d0a43745aa39e7515dd691740f3/src/turtle/turtleclientservice.h:28:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_libretroshare/libretroshare/work/libretroshare-a10087b27a804d0a43745aa39e7515dd691740f3/src/turtle/rsturtleitem.h:33:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_libretroshare/libretroshare/work/libretroshare-a10087b27a804d0a43745aa39e7515dd691740f3/src/retroshare/rsexpr.h:259:21: error: no template named 'binary_function' in namespace 'std'; did you mean '__binary_function'?
:info:build         public std::binary_function< char , char , bool> {
:info:build                ~~~~~^~~~~~~~~~~~~~~
:info:build                     __binary_function

Change History (3)

comment:1 Changed 11 months ago by kencu (Ken)

no log, but presumably need to set suitable older c++ standard

https://en.cppreference.com/w/cpp/utility/functional/binary_function

comment:2 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

See the upstream issue. Their CMakeLists.txt requires a minimum of C++17, yet std::binary_function was removed in C++17. They must be using g++ or an older clang++ that had not yet removed it.

comment:3 Changed 10 months ago by barracuda156

Resolution: fixed
Status: assignedclosed

In 80b08cbf56dcae23f87b5ee2d6666655e614a053/macports-ports (master):

libretroshare: fix build on Sonoma

Fixes: #68536

Note: See TracTickets for help on using tickets.