Can't build cairo as a static library
I tried to build cairo as a static library (-Ddefault_library=static
) but it fails to link:
$ ninja -j1
[1/149] Linking target util/trace-to-xml
FAILED: util/trace-to-xml
cc -o util/trace-to-xml util/trace-to-xml.p/trace-to-xml.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group src/libcairo.a util/cairo-script/libcairo-script-interpreter.a -lm /usr/lib/x86_64-linux-gnu/liblzo2.so -ldl /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng16.so /usr/lib/x86_64-linux-gnu/libfontconfig.so /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXext.so /usr/lib/x86_64-linux-gnu/libXrender.so /usr/lib/x86_64-linux-gnu/libxcb.so /usr/lib/x86_64-linux-gnu/libxcb-render.so /usr/lib/x86_64-linux-gnu/libxcb-shm.so /usr/lib/x86_64-linux-gnu/libpixman-1.so /usr/lib/x86_64-linux-gnu/libexpat.so -Wl,--end-group
/usr/bin/ld: src/libcairo.a(cairo-device.c.o): undefined reference to symbol 'pthread_mutexattr_destroy@@GLIBC_2.2.5'
/usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.