Open barracuda156 opened 1 year ago
To my knowledge 10.15 and earlier versions of macOS have reached end of life https://endoflife.date/macos so I'm not sure how important it is to support them.
10.15 could probably be fixed pretty easily if those are the only errors but it's likely Ascent will start using more modern c++ features in the future which will not be supported by older versions of macOS. Currently, most of this is concentrated in the test targets since the testing framework was recently changed over to boost::ut which uses some fairly modern c++20 features so I'm not entirely surprised the builds are failing. For the ones failing with certificate issues turning TLS_VERIFY or CMAKE_TLS_VERIFY off may help but those are even more unlikely to build anyways.
You could just disable the test targets by turning off BUILD_TESTING when calling cmake as a workaround.
To my knowledge 10.15 and earlier versions of macOS have reached end of life https://endoflife.date/macos so I'm not sure how important it is to support them.
In Macports we support everything from 10.4.11 :) Yes, those OS are actively used, even though user base may not be large.
10.15 could probably be fixed pretty easily if those are the only errors but it's likely Ascent will start using more modern c++ features in the future which will not be supported by older versions of macOS.
I have built ascent
on 10.6.8 for ppc
and all tests pass https://github.com/macports/macports-ports/pull/17096#issue-1512963400
C++17 is fully supported with GCC and C++20 is likely supported (if not fully yet, it will be). The latest GCC builds fine on every macOS starting from 10.5.8 (including ppc
and ppc64
).
On Intel systems MacPorts uses Clangs as default, and clang-14
builds on every Intel macOS starting at least from 10.6.8.
I do not see any problem here for any of archs, in principle.
Currently, most of this is concentrated in the test targets since the testing framework was recently changed over to boost::ut which uses some fairly modern c++20 features so I'm not entirely surprised the builds are failing.
I could try forcing a newer Clang to be used on those systems. (GCC is unlikely to be allowed for Intel as the default.)
For the ones failing with certificate issues turning TLS_VERIFY or CMAKE_TLS_VERIFY off may help but those are even more unlikely to build anyways.
Given 10.6.8 builds fine, all newer should build too.
I will try TLS_VERIFY
. In fact, maybe I can switch to using Macports curl
instead of system one, which is too old. My own Macports is built with its own curl
, perhaps that is why it works fine for me on 10.6.8.
Yeah, when using ascent the biggest limitation is going to primarily be the compiler being used since there isn't really any architecture or platform-specific code in the base lib. If you can use a newer compiler like clang-14 it should be fine then. The build I clicked on was using AppleClang 11 which has spotty C++20 support. The compilation errors I saw were related to c++20 features like Abbreviated function templates or nested inline namespaces.
As a side note the ascent lib doesn't need to compile anything though since it's just a header-only lib. The tests and examples are the only things getting compiled and both can be disabled through CMake and are disabled by default if ascent isn't the primary CMake project. Additionally, the tests are the only things trying to pull in external dependencies. So if you are uninterested in running the tests you can just turn them off and just build the install target.
So we have updated the port to 1.7.1, however the build still fails on some versions of macOS. There seem to be two distinct cases: 10.14–10.15 (compilation errors) and <10.10 (failure to clone
ut-src
repo).Error on 10.15:
https://build.macports.org/builders/ports-10.15_x86_64-builder/builds/125684/steps/install-port/logs/stdio
Error on 10.14:
Error on 10.9:
Log: https://build.macports.org/builders/ports-10.9_x86_64-builder/builds/214658/steps/install-port/logs/stdio
Error on 10.7:
Log: https://build.macports.org/builders/ports-10.7_x86_64-builder/builds/128390/steps/install-port/logs/stdio
General info on port health: https://ports.macports.org/port/ascent/details
@stephenberry @mwalcott3 Will these be possible to fix?