[MacPorts] #71090: Kicad @7.0.11: fails to build with clang-19 and libc++ 19, after upgrade to macos 15
MacPorts
noreply at macports.org
Sat Oct 12 22:16:19 UTC 2024
#71090: Kicad @7.0.11: fails to build with clang-19 and libc++ 19, after upgrade
to macos 15
--------------------------------------+--------------------
Reporter: mpbb77 | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.10.2
Keywords: kicad clang-19 libc++ 19 | Port: kicad
--------------------------------------+--------------------
Building Kicad will fail while building thirdparty/nanodbc due to
deprecation of std::char_traits<> for types other than char, char8_t,
char16_t, char32_t and wchar_t, wioth errors similar to:
.../thirdparty/nanodbc/nanodbc/nanodbc.cpp:261:25: error: implicit
instantiation of undefined template 'std::char_traits<unsigned short>'
261 | auto const n =
std::char_traits<NANODBC_SQLCHAR>::length(array);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
.../thirdparty/nanodbc/nanodbc/nanodbc.cpp:3576:52: error: implicit
instantiation of undefined template 'std::char_traits<unsigned short>'
3576 | dsn.name = string(&name[0],
&name[std::char_traits<NANODBC_SQLCHAR>::length(name)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
.../thirdparty/nanodbc/nanodbc/nanodbc.cpp:3578:49: error: implicit
instantiation of undefined template 'std::char_traits<unsigned short>'
3578 | string(&driver[0],
&driver[std::char_traits<NANODBC_SQLCHAR>::length(driver)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
.../thirdparty/nanodbc/nanodbc/nanodbc.cpp:3629:54: error: implicit
instantiation of undefined template 'std::char_traits<unsigned short>'
3629 | drv.name = string(&descr[0],
&descr[std::char_traits<NANODBC_SQLCHAR>::length(descr)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
and
/wrkdirs/usr/ports/cad/kicad/work/kicad-7.0.2/thirdparty/nanodbc/nanodbc/nanodbc.cpp:261:25:
error: implicit instantiation of undefined template
'std::char_traits<unsigned short>'
261 | auto const n =
std::char_traits<NANODBC_SQLCHAR>::length(array);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
/wrkdirs/usr/ports/cad/kicad/work/kicad-7.0.2/thirdparty/nanodbc/nanodbc/nanodbc.cpp:3576:52:
error: implicit instantiation of undefined template
'std::char_traits<unsigned short>'
3576 | dsn.name = string(&name[0],
&name[std::char_traits<NANODBC_SQLCHAR>::length(name)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
/wrkdirs/usr/ports/cad/kicad/work/kicad-7.0.2/thirdparty/nanodbc/nanodbc/nanodbc.cpp:3578:49:
error: implicit instantiation of undefined template
'std::char_traits<unsigned short>'
3578 | string(&driver[0],
&driver[std::char_traits<NANODBC_SQLCHAR>::length(driver)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
.../thirdparty/nanodbc/nanodbc/nanodbc.cpp:3629:54: error: implicit
instantiation of undefined template 'std::char_traits<unsigned short>'
3629 | drv.name = string(&descr[0],
&descr[std::char_traits<NANODBC_SQLCHAR>::length(descr)]);
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is
declared here
45 | struct char_traits;
| ^
The same failure can be found on the freebsd bugzilla @
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281886 and
their fix also applies to Macports, as I've applied their patches and the
build resumed with no further issues.
--
Ticket URL: <https://trac.macports.org/ticket/71090>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list