Opened 4 months ago

Closed 4 months ago

#14889 closed defect (fixed)

inkscape FTBFS with glib-2.68

Reported by: ken@… Owned by: ken@…
Priority: normal Milestone: 10.2
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

/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).

Change History (4)

comment:1 by ken@…, 4 months ago

Owner: changed from blfs-book to ken@…
Status: newassigned

comment:2 by ken@…, 4 months ago

Patch pushed to old svn and to git.

comment:3 by ken@…, 4 months ago

r24458

I keep thinking I've finished with svn ;)

comment:4 by ken@…, 4 months ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.