[GNC-dev] Deprecate g_type_class_add_private()

c.holtermann at gmx.de c.holtermann at gmx.de
Tue Dec 4 06:51:11 EST 2018


Hello,

I just tried to compile gnucash on OpenSuse Tumbleweed and ran into this 
error:

[ 20%] Building CXX object 
libgnucash/engine/CMakeFiles/gncmod-engine.dir/Account.cpp.o
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/Account.cpp: 
In function ‘void gnc_account_class_init(AccountClass*)’:
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/Account.cpp:580:59: 
error: ‘void g_type_class_add_private(gpointer, gsize)’ is deprecated 
[-Werror=deprecated-declarations]
      g_type_class_add_private(klass, sizeof(AccountPrivate));
                                                            ^
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
                  from /usr/include/glib-2.0/gobject/gbinding.h:29,
                  from /usr/include/glib-2.0/glib-object.h:23,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/guid.h:34,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/qofid.h:82,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/qof.h:72,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/Account.h:47,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/AccountP.h:42,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/Account.cpp:34:
/usr/include/glib-2.0/gobject/gtype.h:1303:10: note: declared here
  void     g_type_class_add_private       (gpointer                    
g_class,
           ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/Account.cpp:580:59: 
error: ‘void g_type_class_add_private(gpointer, gsize)’ is deprecated 
[-Werror=deprecated-declarations]
      g_type_class_add_private(klass, sizeof(AccountPrivate));
                                                            ^
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
                  from /usr/include/glib-2.0/gobject/gbinding.h:29,
                  from /usr/include/glib-2.0/glib-object.h:23,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/guid.h:34,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/qofid.h:82,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/qof.h:72,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/Account.h:47,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/AccountP.h:42,
                  from 
/usr/local/src/gnucash/gnucash-git-fork-c.holtermann/libgnucash/engine/Account.cpp:34:
/usr/include/glib-2.0/gobject/gtype.h:1303:10: note: declared here
  void     g_type_class_add_private       (gpointer                    
g_class,
           ^~~~~~~~~~~~~~~~~~~~~~~~
At global scope:
cc1plus: error: unrecognized command line option 
‘-Wno-deprecated-register’ [-Werror]
cc1plus: all warnings being treated as errors
make[2]: *** 
[libgnucash/engine/CMakeFiles/gncmod-engine.dir/build.make:162: 
libgnucash/engine/CMakeFiles/gncmod-engine.dir/Account.cpp.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:5032: 
libgnucash/engine/CMakeFiles/gncmod-engine.dir/all] Fehler 2
make: *** [Makefile:163: all] Fehler 2

https://gitlab.gnome.org/GNOME/glib/commit/7e5db31d36532274c2b2428ef9bace796928785e
says that

  Deprecate g_type_class_add_private()

It's been 4 years and 8 development cycles since we introduced
G_ADD_PRIVATE and offset-based private data access. It is now
time to finally deprecate the old mechanism.

Looking through the source I find:

common/test-core/CMakeFiles/unittest_support.dir/swig-unittest-support-python.c.i:void 
g_type_class_add_private (gpointer g_class,
common/test-core/CMakeFiles/test-core.dir/unittest-support.c.i:void 
g_type_class_add_private (gpointer g_class,
Übereinstimmungen in Binärdatei 
gnucash/import-export/qif-imp/CMakeFiles/gncmod-qif-import.dir/gnc-plugin-qif-import.c.o
gnucash/import-export/qif-imp/gnc-plugin-qif-import.c:    
g_type_class_add_private(klass, sizeof(GncPluginQifImportPrivate));
Übereinstimmungen in Binärdatei 
gnucash/import-export/csv-exp/CMakeFiles/gncmod-csv-export.dir/gnc-plugin-csv-export.c.o
gnucash/import-export/csv-exp/gnc-plugin-csv-export.c:    
g_type_class_add_private(klass, sizeof(GncPluginCsvExportPrivate));
Übereinstimmungen in Binärdatei 
gnucash/import-export/csv-imp/CMakeFiles/gncmod-csv-import.dir/gnc-plugin-csv-import.c.o
gnucash/import-export/csv-imp/gnc-plugin-csv-import.c:    
g_type_class_add_private(klass, sizeof(GncPluginCsvImportPrivate));
Übereinstimmungen in Binärdatei 
gnucash/import-export/log-replay/CMakeFiles/gncmod-log-replay.dir/gnc-plugin-log-replay.c.o
gnucash/import-export/log-replay/gnc-plugin-log-replay.c:    
g_type_class_add_private(klass, sizeof(GncPluginLogreplayPrivate));
Übereinstimmungen in Binärdatei 
gnucash/import-export/ofx/CMakeFiles/gncmod-ofx.dir/gnc-plugin-ofx.c.o
gnucash/import-export/ofx/gnc-plugin-ofx.c:    
g_type_class_add_private(klass, sizeof(GncPluginOfxPrivate));
gnucash/gnome-search/search-numeric.c:    
g_type_class_add_private(klass, sizeof(GNCSearchNumericPrivate));
gnucash/gnome-search/gnc-general-search.c:    
g_type_class_add_private(klass, sizeof(GNCGeneralSearchPrivate));
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-numeric.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-string.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-double.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-date.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-core-type.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-account.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/gnc-general-search.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-boolean.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-reconciled.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-search/CMakeFiles/gncmod-gnome-search.dir/search-int64.c.o
gnucash/gnome-search/search-reconciled.c:    
g_type_class_add_private(klass, sizeof(GNCSearchReconciledPrivate));
gnucash/gnome-search/search-int64.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchInt64Private));
gnucash/gnome-search/search-string.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchStringPrivate));
gnucash/gnome-search/search-boolean.c:    
g_type_class_add_private(klass, sizeof(GNCSearchBooleanPrivate));
gnucash/gnome-search/search-account.c:    
g_type_class_add_private(klass, sizeof(GNCSearchAccountPrivate));
gnucash/gnome-search/search-core-type.c:    
g_type_class_add_private(klass, sizeof(GNCSearchCoreTypePrivate));
gnucash/gnome-search/search-date.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchDatePrivate));
gnucash/gnome-search/search-double.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchDoublePrivate));
Übereinstimmungen in Binärdatei 
gnucash/report/stylesheets/CMakeFiles/gncmod-stylesheets.dir/gnc-plugin-stylesheets.c.o
gnucash/report/stylesheets/gnc-plugin-stylesheets.c:    
g_type_class_add_private(klass, sizeof(GncPluginStylesheetsPrivate));
Übereinstimmungen in Binärdatei 
gnucash/report/report-gnome/CMakeFiles/gncmod-report-gnome.dir/gnc-plugin-page-report.c.o
gnucash/report/report-gnome/gnc-plugin-page-report.c:    
g_type_class_add_private(klass, sizeof(GncPluginPageReportPrivate));
gnucash/gnome/gnc-plugin-account-tree.c:    
g_type_class_add_private(klass, sizeof(GncPluginAccountTreePrivate));
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-budget-view.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/search-owner.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-page-invoice.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-register.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-basic-commands.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-page-account-tree.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-page-register2.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-page-budget.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-page-sx-list.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-budget.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-page-owner-tree.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-business.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-page-register.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-register2.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome/CMakeFiles/gnc-gnome.dir/gnc-plugin-account-tree.c.o
gnucash/gnome/gnc-plugin-register2.c:    g_type_class_add_private(klass, 
sizeof(GncPluginRegister2Private));
gnucash/gnome/gnc-plugin-page-budget.c:    
g_type_class_add_private(klass, sizeof(GncPluginPageBudgetPrivate));
gnucash/gnome/gnc-plugin-register.c:    g_type_class_add_private(klass, 
sizeof(GncPluginRegisterPrivate));
gnucash/gnome/gnc-plugin-page-register.c:    
g_type_class_add_private(klass, sizeof(GncPluginPageRegisterPrivate));
gnucash/gnome/search-owner.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchOwnerPrivate));
gnucash/gnome/gnc-plugin-business.c:    g_type_class_add_private(klass, 
sizeof(GncPluginBusinessPrivate));
gnucash/gnome/gnc-plugin-page-register2.c:    
g_type_class_add_private(klass, sizeof(GncPluginPageRegister2Private));
gnucash/gnome/gnc-plugin-page-sx-list.c:    
g_type_class_add_private(klass, sizeof(GncPluginPageSxListPrivate));
gnucash/gnome/gnc-plugin-page-invoice.c:    
g_type_class_add_private(klass, sizeof(GncPluginPageInvoicePrivate));
gnucash/gnome/gnc-budget-view.c:    g_type_class_add_private(klass, 
sizeof(GncBudgetViewPrivate));
gnucash/gnome/gnc-plugin-page-owner-tree.c:    
g_type_class_add_private(klass, sizeof(GncPluginPageOwnerTreePrivate));
gnucash/gnome/gnc-plugin-page-account-tree.c:    
g_type_class_add_private(klass, 
sizeof(GncPluginPageAccountTreePrivate));
gnucash/gnome/gnc-plugin-budget.c:    g_type_class_add_private(klass, 
sizeof(GncPluginBudgetPrivate));
gnucash/gnome/gnc-plugin-basic-commands.c:    
g_type_class_add_private(klass, sizeof(GncPluginBasicCommandsPrivate));
gnucash/gnome-utils/gnc-tree-view-owner.c:    
g_type_class_add_private(klass, sizeof(GncTreeViewOwnerPrivate));
gnucash/gnome-utils/search-param.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchParamPrivate));
gnucash/gnome-utils/search-param.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchParamSimplePrivate));
gnucash/gnome-utils/search-param.c:    g_type_class_add_private(klass, 
sizeof(GNCSearchParamCompoundPrivate));
gnucash/gnome-utils/gnc-tree-model-selection.c:    
g_type_class_add_private(klass, sizeof(GncTreeModelSelectionPrivate));
gnucash/gnome-utils/gnc-tree-model-owner.c:    
g_type_class_add_private(klass, sizeof(GncTreeModelOwnerPrivate));
gnucash/gnome-utils/gnc-plugin.c:    g_type_class_add_private(klass, 
sizeof(GncPluginPrivate));
gnucash/gnome-utils/gnc-tree-view-price.c:    
g_type_class_add_private(klass, sizeof(GncTreeViewPricePrivate));
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-model-account.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-view-owner.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-view.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-model-account-types.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-currency-edit.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-main-window.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-model-commodity.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-model.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-date-format.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-view-price.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-period-select.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-plugin-page.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-view-sx-list.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-model-owner.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-plugin-file-history.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-plugin.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-view-commodity.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-combott.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-model-price.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/search-param.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-plugin-menu-additions.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-plugin-manager.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-query-view.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-view-split-reg.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-embedded-window.c.o
Übereinstimmungen in Binärdatei 
gnucash/gnome-utils/CMakeFiles/gncmod-gnome-utils.dir/gnc-tree-view-account.c.o
gnucash/gnome-utils/gnc-tree-model-account.c:    
g_type_class_add_private(klass, sizeof(GncTreeModelAccountPrivate));
gnucash/gnome-utils/gnc-tree-model-commodity.c:    
g_type_class_add_private(klass, sizeof(GncTreeModelCommodityPrivate));
gnucash/gnome-utils/gnc-tree-view-split-reg.c:    
g_type_class_add_private (klass, sizeof(GncTreeViewSplitRegPrivate));
gnucash/gnome-utils/gnc-tree-model-price.c:    
g_type_class_add_private(klass, sizeof(GncTreeModelPricePrivate));
gnucash/gnome-utils/gnc-query-view.c:    g_type_class_add_private 
(klass, sizeof(GNCQueryViewPriv));
gnucash/gnome-utils/gnc-period-select.c:    
g_type_class_add_private(klass, sizeof(GncPeriodSelectPrivate));
gnucash/gnome-utils/gnc-tree-model-account-types.c:    
g_type_class_add_private(klass, 
sizeof(GncTreeModelAccountTypesPrivate));
gnucash/gnome-utils/gnc-plugin-file-history.c:    
g_type_class_add_private(klass, sizeof(GncPluginFileHistoryPrivate));
gnucash/gnome-utils/gnc-combott.c:    g_type_class_add_private(klass, 
sizeof(GncCombottPrivate));
gnucash/gnome-utils/gnc-currency-edit.c:    
g_type_class_add_private(klass, sizeof(GNCCurrencyEditPrivate));
gnucash/gnome-utils/gnc-tree-view-commodity.c:    
g_type_class_add_private(klass, sizeof(GncTreeViewCommodityPrivate));
gnucash/gnome-utils/gnc-plugin-manager.c:    
g_type_class_add_private(klass, sizeof(GncPluginManagerPrivate));
gnucash/gnome-utils/gnc-plugin-menu-additions.c:    
g_type_class_add_private(klass, sizeof(GncPluginMenuAdditionsPrivate));
gnucash/gnome-utils/gnc-tree-view-account.c:    
g_type_class_add_private(klass, sizeof(GncTreeViewAccountPrivate));
gnucash/gnome-utils/gnc-plugin-page.c:    
g_type_class_add_private(klass, sizeof(GncPluginPagePrivate));
gnucash/gnome-utils/gnc-tree-view-sx-list.c:    
g_type_class_add_private(klass, sizeof(GncTreeViewSxListPrivate));
gnucash/gnome-utils/gnc-embedded-window.c:    
g_type_class_add_private(klass, sizeof(GncEmbeddedWindowPrivate));
gnucash/gnome-utils/gnc-tree-model.c:    g_type_class_add_private(klass, 
sizeof(GncTreeModelPrivate));
gnucash/gnome-utils/gnc-date-format.c:    
g_type_class_add_private(klass, sizeof(GNCDateFormatPriv));
gnucash/gnome-utils/gnc-tree-view.c:    g_type_class_add_private(klass, 
sizeof(GncTreeViewPrivate));
gnucash/gnome-utils/gnc-main-window.c:    
g_type_class_add_private(klass, sizeof(GncMainWindowPrivate));
Übereinstimmungen in Binärdatei lib64/libgnc-gnome.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-gnome-search.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-engine.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-qif-import.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-log-replay.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-report-gnome.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-csv-import.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-ofx.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-stylesheets.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-csv-export.so
Übereinstimmungen in Binärdatei lib64/gnucash/libgncmod-gnome-utils.so
libgnucash/engine/gnc-lot.c:    g_type_class_add_private(klass, 
sizeof(LotPrivate));
libgnucash/engine/Account.cpp:    g_type_class_add_private(klass, 
sizeof(AccountPrivate));
libgnucash/engine/gnc-commodity.c:    g_type_class_add_private(klass, 
sizeof(CommodityPrivate));
libgnucash/engine/gnc-budget.c:    g_type_class_add_private(klass, 
sizeof(BudgetPrivate));
libgnucash/engine/qofinstance.cpp:    g_type_class_add_private(klass, 
sizeof(QofInstancePrivate));
grep: share/doc/gnucash/COPYING: Datei oder Verzeichnis nicht gefunden

Looks like a need to change ?

regards,

Christoph


More information about the gnucash-devel mailing list