In short, the glib headers cannot be included in ``extern "C"'' any longer.
This breaks gnucash 4.4 and 4.5. A lot of error output, looking basically like this:
In file included from /usr/pkg/include/glib-2.0/glib/gatomic.h:31, from /usr/pkg/include/glib-2.0/glib/gthread.h:32, from /usr/pkg/include/glib-2.0/glib/gasyncqueue.h:32, from /usr/pkg/include/glib-2.0/glib.h:32, from /scratch/finance/gnucash/work/gnucash-4.5/libgnucash/engine/SchedXaction.h:42, from /scratch/finance/gnucash/work/gnucash-4.5/gnucash/gnome/assistant-loan.cpp:33:
/usr/include/g++/type_traits:3024:3: error: template with C linkage
3024 | template<typename _Tp>
| ^~~~~~~~
/scratch/finance/gnucash/work/gnucash-4.5/gnucash/gnome/assistant-loan.cpp:26:1: note: 'extern "C"' linkage started here
26 | extern "C"
| ^~~~~~~~~~
The glib includes are sometimes in other includes - here in SchedXAction.h, so it's not easy to see what needs to be moved.
There is a breaking change in glib 2.68.0:
https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1926239 /gitlab. gnome.org/ GNOME/glib/ -/merge_ requests/ 1935#note_ 1034039
https:/
In short, the glib headers cannot be included in ``extern "C"'' any longer.
This breaks gnucash 4.4 and 4.5. A lot of error output, looking basically like this:
In file included from /usr/pkg/ include/ glib-2. 0/glib/ gatomic. h:31,
from /usr/pkg/ include/ glib-2. 0/glib/ gthread. h:32,
from /usr/pkg/ include/ glib-2. 0/glib/ gasyncqueue. h:32,
from /usr/pkg/ include/ glib-2. 0/glib. h:32,
from /scratch/ finance/ gnucash/ work/gnucash- 4.5/libgnucash/ engine/ SchedXaction. h:42,
from /scratch/ finance/ gnucash/ work/gnucash- 4.5/gnucash/ gnome/assistant -loan.cpp: 33: g++/type_ traits: 3024:3: error: template with C linkage finance/ gnucash/ work/gnucash- 4.5/gnucash/ gnome/assistant -loan.cpp: 26:1: note: 'extern "C"' linkage started here
/usr/include/
3024 | template<typename _Tp>
| ^~~~~~~~
/scratch/
26 | extern "C"
| ^~~~~~~~~~
The glib includes are sometimes in other includes - here in SchedXAction.h, so it's not easy to see what needs to be moved.