[GNC] Fail to build gnucash on MINGW32, gwenhywfar compile error

John Ralls jralls at ceridwen.us
Mon Aug 12 00:57:16 EDT 2024


That’s https://aquamaniac.de/rdm/issues/306. Apply this patch:


--- a/src/libs/plugins/backends/aqgivve/cardsdialog.c 2024-04-28 06:54:15.000000000 -0700
+++ b/src/libs/plugins/backends/aqgivve/cardsdialog.c 2024-06-22 14:32:30.624058500 -0700
@ -57,7 +57,7 @

-void _freeData(void *bp, void *p)
+void GWENHYWFAR_CB _freeData(void *bp, void *p) {
AG_CARDS_DIALOG *xdlg;

@ -88,7 +88,7 @

-int _dlgSignalHandler(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender)
+int GWENHYWFAR_CB _dlgSignalHandler(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender) {
switch (t) {
case GWEN_DialogEvent_TypeInit :

--- a/src/libs/plugins/backends/aqgivve/provider_request.c 2024-03-19 14:48:38.000000000 -0700
+++ b/src/libs/plugins/backends/aqgivve/provider_request.c 2024-06-22 14:34:01.041737100 -0700
@ -48,14 +48,14 @

-void _freeData(void *bp, void *p)
+void GWENHYWFAR_CB _freeData(void *bp, void *p) {
free(p);
}

-int _cbInitSyncIo(GWEN_HTTP_SESSION *sess, GWEN_SYNCIO *sio)
+int GWENHYWFAR_CB _cbInitSyncIo(GWEN_HTTP_SESSION *sess, GWEN_SYNCIO *sio) {
AG_HTTP_SESSION_HEADER *xsess;

--- a/src/libs/plugins/backends/aqgivve/userdialog.c 2024-01-07 11:29:43.000000000 -0800
+++ b/src/libs/plugins/backends/aqgivve/userdialog.c 2024-06-22 14:35:30.632390300 -0700
@ -42,7 +42,7 @

-void _freeData(void *bp, void *p)
+void GWENHYWFAR_CB _freeData(void *bp, void *p) {
}

@ -98,7 +98,7 @

-int _dlgSignalHandler(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender)
+int GWENHYWFAR_CB _dlgSignalHandler(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender) {
switch (t) {
case GWEN_DialogEvent_TypeInit :

Regards,

John Ralls




> On Aug 11, 2024, at 20:04, Hai Liang Wang <hailiang.hl.wang at gmail.com> wrote:
> 
> Hi, folks
> 
> After reading guide with https://wiki.gnucash.org/wiki/Building_on_Windows,
> I setup MINGW32 on my windows to build gnuash from sourcecodes.
> 
> *Command I use to build binary installer.*
> 
> cd /c/gcdev64/src/gnucash-on-windows.git
> 
> TARGET=gnucash-stable jhbuild -f jhbuildrc build --nodeps
> 
> *Come to below error:*
> 
> C:/gcdev64/gnucash/stable/src/gwenhywfar-5.11.2beta/tools/gcttool/main.c:
> In function 'main':
> *C:/gcdev64/gnucash/stable/src/gwenhywfar-5.11.2beta/tools/gcttool/main.c:182:45:
> error: passing argument 2 of 'GWEN_Gui_SetKeyDataFromTextOpenSslFn' from
> incompatible pointer type [-Wincompatible-pointer-types]*
> *  182 |   GWEN_Gui_SetKeyDataFromTextOpenSslFn(gui,
> getKeyDataFromTextOpenSSL);*
> *      |
> ^~~~~~~~~~~~~~~~~~~~~~~~~*
> *      |                                             |*
> *      |                                             int (*)(GWEN_GUI *,
> const char *, unsigned char *, unsigned int)*
> *In file included from
> C:/gcdev64/gnucash/stable/src/gwenhywfar-5.11.2beta/tools/gcttool/main.c:37:*
> *../../gwenhywfar5/gwenhywfar/gui_be.h:297:110: note: expected
> 'GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN' {aka 'int (__attribute__((stdcall))
> *)(GWEN_GUI *, const char *, unsigned char *, unsigned int)'} but argument
> is of type 'int (*)(GWEN_GUI *, const char *, unsigned char *, unsigned
> int)'*
> *  297 |
>      GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN f);*
> *      |
>      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^*
> *make[3]: *** [Makefile:653: main.o] Error 1*
> make[3]: *** Waiting for unfinished jobs....
> libtool: link: gcc -g -O2 -Wall -Wall -Wall -o .libs/cttest.exe cttest.o
> -L/c/gcdev64/gnucash/stable/inst/lib -L/c/gcdev64/msys2/mingw32/lib
> -L/usr/lib ../../src/.libs/libgwenhywfar.dll.a -L/mingw32/lib -lgpg-error
> -lgcrypt -lgnutls -lwsock32 -lintl -liconv -pthread
> -L/c/gcdev64/gnucash/stable/inst/lib
> make[3]: Leaving directory
> '/c/gcdev64/gnucash/stable/build/gwenhywfar-5.11.2beta/tools/gcttool'
> make[2]: *** [Makefile:524: all-recursive] Error 1
> make[2]: Leaving directory
> '/c/gcdev64/gnucash/stable/build/gwenhywfar-5.11.2beta/tools'
> make[1]: *** [Makefile:793: all-recursive] Error 1
> make[1]: Leaving directory
> '/c/gcdev64/gnucash/stable/build/gwenhywfar-5.11.2beta'
> make: *** [Makefile:613: all] Error 2
> *** Error during phase build of gwenhywfar: ########## Error running make
> -j 17  *** [3/14]
> 
>  [1] Rerun phase build
>  [2] Ignore error and continue to install
>  [3] Give up on module
> 
> *Environtment,* check out mingw32.package-installed.txt
> 
> Pls help, thanks.
> 
> 
> Cheers.
> Hai Liang W.
> <mingw32.package-installed.txt>_______________________________________________
> gnucash-user mailing list
> gnucash-user at gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.



More information about the gnucash-user mailing list