Opened 5 months ago

Closed 5 months ago

#69964 closed defect (fixed)

gconfmm fails to build: error: template with C linkage

Reported by: barracuda156 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc:
Port: gconfmm

Description

In file included from /opt/local/include/glib-2.0/glib/glib-typeof.h:43,
                 from /opt/local/include/glib-2.0/glib/gatomic.h:30,
                 from /opt/local/include/glib-2.0/glib/gthread.h:34,
                 from /opt/local/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /opt/local/include/glib-2.0/glib.h:34,
                 from /opt/local/include/glib-2.0/gobject/gbinding.h:30,
                 from /opt/local/include/glib-2.0/glib-object.h:24,
                 from /opt/local/include/gconf/2/gconf/gconf-client.h:24,
                 from ../gconfmm/callback.h:27,
                 from callback.cc:22:
/opt/local/include/gcc13/c++/type_traits:44:3: error: template with C linkage
   44 |   template<typename _Tp>
      |   ^~~~~~~~
../gconfmm/callback.h:25:1: note: 'extern "C"' linkage started here
   25 | extern "C"
      | ^~~~~~~~~~
/opt/local/include/gcc13/c++/type_traits:61:3: error: template with C linkage
   61 |   template<typename _Tp, _Tp __v>
      |   ^~~~~~~~
../gconfmm/callback.h:25:1: note: 'extern "C"' linkage started here
   25 | extern "C"
      | ^~~~~~~~~~
/opt/local/include/gcc13/c++/type_traits:89:3: error: template with C linkage
   89 |   template<bool __v>
      |   ^~~~~~~~
../gconfmm/callback.h:25:1: note: 'extern "C"' linkage started here
   25 | extern "C"
      | ^~~~~~~~~~
/opt/local/include/gcc13/c++/type_traits:97:3: error: template with C linkage
   97 |   template<bool __v>
      |   ^~~~~~~~
../gconfmm/callback.h:25:1: note: 'extern "C"' linkage started here
   25 | extern "C"
      | ^~~~~~~~~~
/opt/local/include/gcc13/c++/type_traits:105:3: error: template with C linkage
  105 |   template<bool, typename _Tp = void>
      |   ^~~~~~~~
../gconfmm/callback.h:25:1: note: 'extern "C"' linkage started here
   25 | extern "C"
      | ^~~~~~~~~~
/opt/local/include/gcc13/c++/type_traits:110:3: error: template with C linkage
  110 |   template<typename _Tp>
      |   ^~~~~~~~
../gconfmm/callback.h:25:1: note: 'extern "C"' linkage started here
   25 | extern "C"
      | ^~~~~~~~~~
/opt/local/include/gcc13/c++/type_traits:115:3: error: template with C linkage
  115 |   template<bool _Cond, typename _Tp = void>
      |   ^~~~~~~~
../gconfmm/callback.h:25:1: note: 'extern "C"' linkage started here
   25 | extern "C"
      | ^~~~~~~~~~
/opt/local/include/gcc13/c++/type_traits:118:3: error: template with C linkage
  118 |   template<bool>
      |   ^~~~~~~~
. . .

Change History (5)

comment:1 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

How did you even get this far? On buildbot workers it fails before configure with:

Makefile.am:26: error: ENABLE_DOCUMENTATION does not appear in AM_CONDITIONAL

comment:2 in reply to:  1 Changed 5 months ago by barracuda156

Replying to ryandesign:

How did you even get this far? On buildbot workers it fails before configure with:

Makefile.am:26: error: ENABLE_DOCUMENTATION does not appear in AM_CONDITIONAL

Maybe dependency on autoconf_archive is needed but not declared? And I have it installed.

comment:3 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

In a059ab638700dd2bef5ac9f79196d72ffef6a83f/macports-ports (master):

gconfmm: Use mm-common and autogen.sh

Add missing mm-common dependency (which caused "Makefile.am:26: error:
ENABLE_DOCUMENTATION does not appear in AM_CONDITIONAL") and use the
provided autogen.sh script.

See: #69964

Also remove redundant "platforms darwin", use path:-based dependency for
pkgconfig, and use the usual checksum types.

comment:5 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In 572b3fa745672b114ee00c2d4a4a4e9b3817bbe5/macports-ports (master):

gconfmm: Fix build with glib 2.67.3 and later

Closes: #69964

Note: See TracTickets for help on using tickets.