[tlbuild] Harfbuzz 4.4.x

Mojca Miklavec mojca.miklavec.lists at gmail.com
Sun Jul 3 02:34:00 CEST 2022


On Sun, 3 Jul 2022 at 00:30, Karl Berry wrote:
>
>     In file included from ../../../libs/harfbuzz/harfbuzz-src/src/hb.hh:473:0,
>     from ../../../libs/harfbuzz/harfbuzz-src/src/hb-blob.cc:28:
>     ../../../libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh:170:13: error:
>     specialization of 'template<class _Tp> struct std::hash' in different
>     namespace [-fpermissive]
>     struct std::hash<hb::shared_ptr<T>>
>
> A basic search for that error message turns up several posts about it.
> I can't delve into it now, but at a glance, seems like an intentional
> incompatibility created by the language committee (as usual). In any
> case, a known issue.
>
> For example (there are plenty more):
> https://www.programmersought.com/article/41522947014/
> https://stackoverflow.com/questions/2282349/

The first example I found was considered a bug in an older versions of gcc:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
and judging from
    https://github.com/gcc-mirror/gcc/commit/ba1e69c03f96f8f9f0e0d4218b168bf975a83cbb
I would guess that at least gcc 7.1.0 is needed to avoid the problem.

(Similar reference claiming that gcc 6.3.0 didn't work:
https://github.com/WebAssembly/binaryen/issues/2517)

> Probably we'll have to patch our hb source one way or another?

(That might help.)

> I suppose the other thing to try is newer compilers, but I suspect
> that is not easy. --thanks, karl.

I suspect that a newer compiler on Solaris 10 is out of question, but
then again ... if it works on Solaris 11, maybe we don't need to worry
since there's only 1,5 years of lifetime left and we could switch to
Solaris 11 for TL 2023.

I don't know whether one can easily install a newer compiler to Debian
9 (it currently provides gcc 6.3.0). There's always an option to do a
"new research" about which Linux distribution/version has the oldest
glibc and a sufficiently new gcc compiler.
Python developers use a so-called "manylinux" distribution.

Mojca


More information about the tlbuild mailing list.