Open barracuda156 opened 12 months ago
std::binary_function
was deprecated in C++11 and removed in C++17. The workaround would presumably be to put the compiler into a pre-C++17 mode. However, CMakeLists.txt currently specifies that at least C++17 is required:
However, there is an exception made when building for Android which uses C++14 in that case, so maybe the code doesn't actually need C++17 and using C++14 would work.
@ryandesign can you help little bit fix compile issues for macos? when you has time.
cmakelists added by @G10h4ck , since cmakelist added i has more issue to compile retroshare on macos. example i cant disable libsam more, maybe cmakelist ignore stuff from retroshare.pri file?
@ryandesign By the way, maybe -D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
gonna work. Let me try.
UPD. It actually works:
svacchanda@Sergeys-MacBook-Air ~ % port -v installed libretroshare
The following ports are currently installed:
libretroshare @2023.11.07_0 (active) requested_variants='' platform='darwin 23' archs='arm64' date='2023-11-24T18:06:21+0800'
However passing it from the portfile does not. Perhaps CMakeLists somewhere reset flags, so it gets lost and the build remains broken. I added the flag into CMakeLists, it fixed it. Gonna make a PR tonight.
maybe cmakelist ignore stuff from retroshare.pri file?
@defnax I do not think this should be used at all here: we do not need Qt for libretroshare
.
i speak only for disable libsam feature, im thinking cmake project file has no feature to disable libsam on compile, you know what i mean? im not sure, im only thinking.
for cli compile when i delete libsam folder it gets automaticly downloaded via git
You need to join rs dev network,there you can meet all rs devs there and you can share your macos builds when get success :)
maybe cmakelist ignore stuff from retroshare.pri file?
@defnax I do not think this should be used at all here: we do not need Qt for
libretroshare
.
Qt is not needed to compile the source files, but qmake can be used to create the makefiles. It's the simplest way to go imo.
If you find some missing flags, libs, etc, we can add them to the .pro for MacOS.
@defnax Let’s give a few days to libsam developer, hopefully the issue gets resolved. Otherwise I will look into how to get rid of it in a way it works.
@csoler @G10h4ck can you disable libsam on cmakelist?
by default libsam is enabled in the cmakelist, it has no off feature https://github.com/RetroShare/RetroShare/commit/b3e6d96f3ba4d353e1767508ed75784fc0878247
on maco is compile from terminal broken not possible to disable libsam3 check
@defnax We rather have it fixed than disabled, perhaps. (I did not investigate what specifically it is used for though.)
sounds great, i started to buld rs on a macos catalina(virtualbox) with a newer qt, not yet done. But i build success full on qtreator with macos 10.13.6
You can test & help if you can compile webui & retroshare-service too? there get compile issues i think
@defnax I should have some time next week for this. Will update then.
where is the fix? i see nothing on libsam repo
@defnax I am expecting @eyedeekay to address libsam
issue, then I can do testing on my end and implements fix-ups, be any needed, for specific macOS versions.
Expect a fix sometime near the beginning of next week, shortly after we publish the main release of Java I2P.