1.16: cairo is not linked with libpthread
After switching to binutils gold ld (from bfp one) I found that libcairo is not linked with libpthread which is causing gtk3 linking issue. Trying to fix this in cairo I found that cairo themselves build is failing
ibtool: link: ( cd ".libs" && rm -f "libcairoperf.la" && ln -s "../libcairoperf.la" "libcairoperf.la" ) make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/perf' make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/perf' /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto -fuse-linker-plugin -o cairo-analyse-trace cairo-analyse-trace.o cairo-error.o ../util/cairo-script/libcairo-script-interpreter.la ../util/cairo-missing/libcairo-missing.la libcairoperf.la ../boilerplate/libcairoboilerplate.la ../src/libcairo.la -lrt -lm libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto -fuse-linker-plugin -o .libs/cairo-analyse-trace cairo-analyse-trace.o cairo-error.o ../util/cairo-script/.libs/libcairo-script-interpreter.so -llzo2 ../util/cairo-missing/.libs/libcairo-missing.a ./.libs/libcairoperf.a ../boilerplate/.libs/libcairoboilerplate.a /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so -ldl ../src/.libs/libcairo.so -lpixman-1 -lfontconfig -lfreetype -lpng16 -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lXext -lz -lrt -lm /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_destroy' /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_settype' /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_init' collect2: error: ld returned 1 exit status make[4]: *** [Makefile:923: cairo-analyse-trace] Error 1 make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/perf' make[4]: *** Waiting for unfinished jobs.... make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/perf' /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto -fuse-linker-plugin -o cairo-perf-trace cairo-perf-trace.o cairo-error.o cairo-hash.o ../util/cairo-script/libcairo-script-interpreter.la ../util/cairo-missing/libcairo-missing.la libcairoperf.la ../boilerplate/libcairoboilerplate.la ../src/libcairo.la -lrt -lm libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto -fuse-linker-plugin -o .libs/cairo-perf-trace cairo-perf-trace.o cairo-error.o cairo-hash.o ../util/cairo-script/.libs/libcairo-script-interpreter.so -llzo2 ../util/cairo-missing/.libs/libcairo-missing.a ./.libs/libcairoperf.a ../boilerplate/.libs/libcairoboilerplate.a /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so -ldl ../src/.libs/libcairo.so -lpixman-1 -lfontconfig -lfreetype -lpng16 -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lXext -lz -lrt -lm /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_destroy' /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_settype' /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_init' collect2: error: ld returned 1 exit status make[4]: *** [Makefile:951: cairo-perf-trace] Error 1 make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/perf' make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/perf' /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto -fuse-linker-plugin -o cairo-perf-micro cairo-perf-micro.o ../perf/micro/libcairo-perf-micro.la libcairoperf.la ../boilerplate/libcairoboilerplate.la ../src/libcairo.la -lrt -lm libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto -fuse-linker-plugin -o .libs/cairo-perf-micro cairo-perf-micro.o ../perf/micro/.libs/libcairo-perf-micro.a ./.libs/libcairoperf.a ../boilerplate/.libs/libcairoboilerplate.a /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so -ldl ../src/.libs/libcairo.so -lpixman-1 -lfontconfig -lfreetype -lpng16 -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lXext -lz -lrt -lm /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_destroy' /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_settype' /home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/src/.libs/libcairo.so: error: undefined reference to 'pthread_mutexattr_init' collect2: error: ld returned 1 exit status make[4]: *** [Makefile:943: cairo-perf-micro] Error 1 make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/cairo-1.16.0/perf' make[3]: *** [Makefile:1078: all-recursive] Error 1 make[2]: *** [Makefile:865: all] Error 2 make[1]: *** [Makefile:910: all-recursive] Error 1 make: *** [Makefile:761: all] Error 2