Opened 6 weeks ago
Last modified 8 days ago
#74204 assigned defect
webkit2-gtk, webkit2-gtk-devel @2.52.4: error: 'path' is unavailable: introduced in macOS 10.15
| Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | dbevans (David B. Evans) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.12.5 |
| Keywords: | leopard snowleopard lion mountainlion mavericks yosemite elcapitan sierra highsierra moajve | Cc: | mascguy (Christopher Nielsen), drkp (Dan Ports) |
| Port: | webkit2-gtk, webkit2-gtk-devel |
Description
/opt/local/var/macports/build/webkit2-gtk-674deeef/work/webkitgtk-2.52.4/Source/WTF/wtf/FileSystem.cpp:58:25: error: 'path' is unavailable: introduced in macOS 10.15
static std::filesystem::path toStdFileSystemPath(StringView path)
^
/opt/local/libexec/llvm-16/bin/../include/c++/v1/__filesystem/path.h:442:24: note: 'path' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS path {
^
Change History (4)
comment:1 Changed 11 days ago by nilFinx
comment:2 Changed 11 days ago by drkp (Dan Ports)
Unfortunately, this will be pretty hard to fix. The latest webkit2-gtk uses C++23 extensively. We can blacklist compilers to force a newer version of clang, but the libc++ on 10.14 and earlier is too old for the stdlib features it uses. legacysupport.use_mp_libcxx will use the libc++ from macports-libcxx, but that is based on clang-11 and is still too old.
Ideally, we would update macports-libcxx to a newer version but I am not familiar enough with it to take that on.
We could also bring back an older version of webkit2-gtk for legacy systems, but the previous version (2.28 IIRC) used libsoup2 instead of 3 which would not link cleanly against dependents. There might be an intermediate version that would work -- I'm not sure -- but even if so it would require updating all the patches which is seriously non-trivial.
comment:4 Changed 8 days ago by drkp (Dan Ports)
Yeah, sorry for not being clear about that -- macports-libcxx fixes this particular error, but IIRC it hits another one later in the build process. It's been a while since I tried this though, so I don't remember what the later error was.

10.14 is Darwin 18, but legacysupport.newest_darwin_requires_legacy is 15 on the Portfile. Can anyone see if changing that to 18 fixes this issue? I unfortunately don't have access to 10.12 ~ 10.14 at moment.