[MacPorts] #68716: gdal @3.8.0: Undefined symbols std::__1::__shared_mutex_base::lock_shared()
MacPorts
noreply at macports.org
Fri Nov 17 11:01:56 UTC 2023
#68716: gdal @3.8.0: Undefined symbols std::__1::__shared_mutex_base::lock_shared()
----------------------------------------+--------------------
Reporter: nilason | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Keywords: elcapitan, mavericks, lion | Port: gdal
----------------------------------------+--------------------
GDAL fails for El Capitan (10.11), Mavericks (10.9) and Lion (10.7) with
"undefined symbols" linking error:
{{{
Undefined symbols for architecture x86_64:
"std::__1::__shared_mutex_base::lock_shared()", referenced from:
__ZNSt3__112shared_mutex11lock_sharedB7v160006Ev in
cpl_vsi_mem.cpp.o
"std::__1::__shared_mutex_base::unlock_shared()", referenced from:
__ZNSt3__112shared_mutex13unlock_sharedB7v160006Ev in
cpl_vsi_mem.cpp.o
"std::__1::__shared_mutex_base::lock()", referenced from:
__ZNSt3__112shared_mutex4lockB7v160006Ev in cpl_vsi_mem.cpp.o
"std::__1::__shared_mutex_base::unlock()", referenced from:
__ZNSt3__112shared_mutex6unlockB7v160006Ev in cpl_vsi_mem.cpp.o
"std::__1::__shared_mutex_base::__shared_mutex_base()", referenced from:
__ZNSt3__112shared_mutexC2B7v160006Ev in cpl_vsi_mem.cpp.o
ld: symbol(s) not found for architecture x86_64
}}}
It is triggered by new code for GDAL 3.8.0 committed with
[https://github.com/OSGeo/gdal/commit/dbfde657469903aba4f612a12210eaf569e242dc
dbfde65].
The call to the failing code has passed the following condition:
{{{
#if __cplusplus >= 201703L || _MSC_VER >= 1910
}}}
assuming the compiler supports the calls. But apparently the standard
library doesn't contain it.
Presently, the `gdal` port sets the the c++ standard to 2014.
--
Ticket URL: <https://trac.macports.org/ticket/68716>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list