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

Hai Liang Wang hailiang.hl.wang at gmail.com
Mon Aug 12 20:42:18 EDT 2024


I have switched to i686 mingw and gwenhywfar 5.11.2beta. Just
checked gwenhywfar 5.11.2beta codes, the codes are updated with
gwenhywfar-bug-274.patch
<https://github.com/Gnucash/gnucash-on-windows/blob/master/patches/gwenhywfar-bug-274.patch>
.
I still can not find the sourcecode file with the second path, the argivve
backend plugin.
But I think the problem is not the same as
https://aquamaniac.de/rdm/issues/306 in my case.
The error trace on my machine is not the same as Issue 306.

I would try to solve it today, any help is appreciated.

Cheers.
Hai Liang W.


On Tue, Aug 13, 2024 at 2:25 AM John Ralls <jralls at ceridwen.us> wrote:

> The 5.10.2 build problem is the same root cause and is fixed with
> https://github.com/Gnucash/gnucash-on-windows/blob/master/patches/gwenhywfar-bug-274.patch.
> That patch is applied in 5.11.2beta but the AQBanking developer made the
> same mistake when he created the argivve backend plugin, requiring the
> second patch.
>
> You have to change directory to
> c:\gcdev64\gnucash\stable\src\gwenhjywvar-5.11.2beta. Patches are applied
> with -p1 following git standard practice so the rest of the path is
> relative to the source directory.
>
> There’s no such thing as mingw64.exe, but as long as you’re using the
> Mingw32 (i686) environment installed when you ran setup-mingw64.ps1 you’ll
> be OK. The Mingw64 (x86_64) won’t work because there’s no webkitgtk package
> for it.
>
> Regards,
> John Ralls
>
>
> On Aug 11, 2024, at 23:09, Hai Liang Wang <hailiang.hl.wang at gmail.com>
> wrote:
>
> John,
>
> Thanks for your quick response, it's not the same root cause.
> I can not find the *cardsdialog.c,* *provider_request.c* as you mentioned.
>
> The problem also exist on a previous version of gnucash modules, which
> references gwenhywfar-5.10.2.tar.gz.
>
> https://github.com/Gnucash/gnucash-on-windows/blob/e9edf33a2dcd4cb03c6dc49730595d0e07c294d2/gnucash.modules
>
> As I rollback gnucash module as running build against it.
> Same error happens on my machine.
>
> C:/gcdev64/gnucash/stable/src/gwenhywfar-5.10.2/tools/gcttool/main.c: In
> function 'main':
> C:/gcdev64/gnucash/stable/src/
> *gwenhywfar-5.10.2/tools/gcttool/main.c:182:45*: error: passing argument
> 2 of 'GWEN_Gui_SetKeyDataFromTextOpen
> SslFn' 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.10.2/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 *, un
> signed int)'
>   297 |
>       GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN f);
>       |
>       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
> make[3]: *** [Makefile:653: main.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
>
> Note, this time, I switch to mingw64.exe,  my mingw64 is based
> on msys2-base-i686,
>
> Cheers.
> Hai Liang W.
>
>
> On Mon, Aug 12, 2024 at 12:57 PM John Ralls <jralls at ceridwen.us> wrote:
>
>> 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