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

https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/264737/steps/install-port/logs/stdio

/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

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.

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:3 Changed 9 days ago by kencu (Ken)

the current macports-libcxx supports filesystem.

Last edited 9 days ago by kencu (Ken) (previous) (diff)

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.

Note: See TracTickets for help on using tickets.