#14889: inkscape FTBFS with glib-2.68 --------------------+----------------------- Reporter: ken@… | Owner: blfs-book Type: defect | Status: new Priority: normal | Milestone: 10.2 Component: BOOK | Version: SVN Severity: normal | Keywords: --------------------+----------------------- {{{ /usr/include/c++/10.3.0/type_traits:2085:3: error: template with C linkage 2085 | template <typename _Tp, typename... _Types> | ^~~~~~~~ In file included from /scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/src/trace/autotrace /inkscape-autotrace.h:20, from /scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/src/trace/autotrace /inkscape-autotrace.cpp:15: /scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/src/3rdparty/autotrace/autotrace.h:27:1: note: 'extern "C"' linkage started here 27 | extern "C" { | ^~~~~~~~~~ In file included from /usr/include/glib-2.0/glib/gatomic.h:31, from /usr/include/glib-2.0/glib/gthread.h:32, from /usr/include/glib-2.0/glib/gasyncqueue.h:32, from /usr/include/glib-2.0/glib.h:32, from /scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/src/3rdparty/autotrace/types.h:24, from /scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/src/3rdparty/autotrace/autotrace.h:38, from /scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/src/trace/autotrace /inkscape-autotrace.h:20, from /scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/src/trace/autotrace /inkscape-autotrace.cpp:15: /usr/include/c++/10.3.0/type_traits:2106:3: error: template with C linkage 2106 | template <size_t _Len, typename... _Types> | ^~~~~~~~ [ 1781 similar lines snipped ] make[2]: *** [src/CMakeFiles/inkscape_base.dir/build.make:5081: src/CMakeFiles/inkscape_base.dir/trace/autotrace/inkscape-autotrace.cpp.o] Error 1 make[2]: Leaving directory '/scratch/working/inkscape-1.0.2_2021-01-15_e86c870879/build' make[2]: *** Waiting for unfinished jobs.... }}}
Yes, I'm testing gcc-10.3.0, but that is not the problem. In glib-2.67.3 and later, glib (via) gatomic.h now pulls in type_traits. This means that <glib.h> can no longer be included in extern "C" blocks. For inkscape, fixed upstream by [https://gitlab.com/inkscape/inkscape/-/merge_requests/2790.diff] (the commit is [https://gitlab.com/inkscape/inkscape/-/commit/eb24388f1730918edd9565d9e5d09340ec0b3b08?] but on gitlab you need to go to the related merge request to be able to get a plain diff). -- Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/14889> BLFS Trac <http://wiki.linuxfromscratch.org/blfs> Beyond Linux From Scratch -- http://lists.linuxfromscratch.org/listinfo/blfs-book FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page