[ac0979b6f44b41894c73fd208a0b4f5a8c6dc6ff]

Folks,


I'm still using an older openSUSE version that comes with g++ 7.5.0 as
the default compiler.  For some reason, however, I need the font stack
being compiled with g++ 14, and I want both static and dynamic
libraries.  As far as I know it doesn't matter which compiler version
I use for pure C code libraries, so I concentrate on updating C++
stuff.

Compilation and installation into `/usr/local` works fine for glib
(and running `meson test` worked, too, which seems to confirm that
linking binaries with glib works).

I've then configured HarfBuzz as follows.

```
CC=gcc-14 CXX=gcc-14 meson setup --default-library=both build
```

However, the ninja build fails (I've massaged the output to make it
more readable, showing only the first reference error message):

```
[186/434] Linking target src/test-map
FAILED: src/test-map 

gcc-14 -o src/test-map \
       src/test-map.p/test-map.cc.o \
       src/test-map.p/hb-static.cc.o \
       -Wl,--as-needed \
       -Wl,--no-undefined \
       '-Wl,-rpath,$ORIGIN/:/usr/local/lib64' \
       -Wl,-rpath-link,/home/wl/git/harfbuzz/build/src \
       -Wl,-rpath-link,/usr/local/lib64 \
       -Wl,--start-group \
       src/libharfbuzz.so.0.61421.0 \
       -pthread \
       -lm \
       /usr/local/lib64/libfreetype.so \
       /usr/local/lib64/libglib-2.0.so \
       -Wl,--end-group

/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld:
  src/test-map.p/test-map.cc.o:
    in function `std::__new_allocator<char>::deallocate(char*, unsigned long)':
/usr/include/c++/14/bits/new_allocator.h:172:
  
(.text._ZN12hb_hashmap_tINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiLb0EE5allocEj[_ZN12hb_hashmap_tINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiLb0EE5allocEj]+0x41f):
    undefined reference to `operator delete(void*)'
...
```

What might be the cause for this problem?  Is there another C++
library dependency that I missed?  Just to be sure I installed
FreeType with option `--with-harfbuzz=no`, but I still get the same
HarfBuzz linking error.

Note also that some HarfBuzz test programs are actually linked
successfully (for example, `test-classdef-graph`) – what is so special
about `test-map`?


    Werner

Reply via email to