Successful test build on Windows with Changes

John Ralls jralls at ceridwen.us
Tue Sep 3 11:50:01 EDT 2024


Bob,

Thanks for the recap. Can I entice you into putting your patches into a PR?

The MSYS2 package archive lives at https://repo.msys2.org/mingw/mingw32/. It does have postgresql and xmlsec. It doesn’t have mariadbclient but does have mysqlclient but it’s not an active package. The other two are:
https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-postgresql
https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-xmlsec

I guess we need to add a module for mariadbclient and that it’s time for another round of banging my head against the webkit-on-windows wall.

Regards,
John Ralls

> On Sep 3, 2024, at 06:33, Robert Fewell <14ubobit at gmail.com> wrote:
> 
> Hi,
> 
> I have just finished refreshing my build VM's so they are upto date and decided I would try to do a fresh build install on my Windows build machine by doing the following and logging any problems / fixes...
> 
> Note: I left HTML workshop and Inno Setup installed
> 
> Copied Working c:\gcdev64 as a backup
> 
> Uninstall existing Msys2
> 
> Created new empty c:\gcdev64 directory
> 
> Download "setup-mingw64.ps1"
> 
> Start Powershell terminal
> Run setup-mingw64.ps1 by specifying full path.
> Complete Msys2 install
> 
> Gets stuck on 'Updating trust database..." after signing key, I have had this before and just Ctrl-C and rerun setup-mingw64.ps1
> 
> Setup completed but looking at the terminal I can see errors...
> 
> ## Error retrieving mingw-w64-i686-webkitgtk3-2.4.11-999.51-any.pkg.tar.zst.sig, Maximum file size exceeded. 
> 
> Download sig file from sourceforge and copied to c:\gcdev64\msys2\var\cache\pacman\pkg
> 
> ## Error retrieving mingw-w64-i686-libmariadbclient and mingw-w64-i686-postgresql,
> 
> Rerun "setup-mingw64.ps1" which downloads more files.
> 
> There will still be an error for 'libmariadbclient and postgresql, will be fixed in Msys2 mingw32 terminal
> 
> Closed Powershell.
> 
> Start Msys2 mingw32 terminal
> 
> Copied mingw-w64-i686-libmariadbclient-3.1.13-1-any.pkg.tar.zst and sig file from backup folder
> Copied mingw-w64-i686-postgresql-16.1-1-any.pkg.tar.zst and sig file from backup folder
> 
> cd /var/cache/pacman/pkg/
> pacman -U mingw-w64-i686-libmariadbclient-3.1.13-1-any.pkg.tar.zst
> pacman -U mingw-w64-i686-postgresql-16.1-1-any.pkg.tar.zst
> ** Note, I do not think these files exist from Msys2 Packages, maybe from an archive somewhere. **
> 
> As I know webkit requires specific dependency versions, I did the following after copying the files from my backup directory...
> 
> pacman -U mingw-w64-i686-boost-1.84.0-1-any.pkg.tar.zst
> pacman -U mingw-w64-i686-icu-74.2-1-any.pkg.tar.zst
> pacman -U mingw-w64-i686-harfbuzz-8.3.0-1-any.pkg.tar.zst
> ** Note, I do not think these files exist from Msys2 Packages, maybe from an archive somewhere. **
> 
> And then updated /etc/pacman.d/gnucash-ignores.pacman with this so they will not be updated...
> IgnorePkg = mingw-w64-i686-boost
> IgnorePkg = mingw-w64-i686-icu
> IgnorePkg = mingw-w64-i686-harfbuzz
> 
> From a first run, I know we need this package, copied from my backup folder...
> 
> pacman -U mingw-w64-i686-xmlsec-1.2.39-1-any.pkg.tar.zst
> ** Note, I do not think this file exists from Msys2 Packages, maybe from an archive somewhere. **
> 
> And these two for the install process...
> 
> pacman -S mingw-w64-i686-libsecret
> pacman -S mingw-w64-i686-iso-codes
> 
> cd /c/gcdev64/src/gnucash-on-windows.git/
> TARGET=gnucash-stable jhbuild -f jhbuildrc build
> 
> ## jhbuild Failed, no module named 'distutils', I think this is due to python upgrade
> 
> to fix do this...
> pacman -S python-setuptools
> 
> Rerun, build started, 1 of 12...
> 
> ## jhbuild Failed on last part of OpenSP build,
> 
> I think the jhbuild patch needs to be changed for utils/packagedb.py to...
> 
> +        if (self.manifest):
> +            writer.fp.write('\n'.join(self.manifest).encode('utf-8', 'backslashreplace') + b'\n')
> 
> 
> ## gwenhywfar failed so I used 'Hai Liang Wang' fix in tools/gcttool/main.c, line 182
> 
>   GWEN_Gui_SetKeyDataFromTextOpenSslFn(gui, (GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN)getKeyDataFromTextOpenSSL);
> 
> ## bdwgc failed so I changed mark.c, line 514
> 
>   er.ex_reg.handler = (PEXCEPTION_ROUTINE)mark_ex_handler;
> 
> Rerun build phase...
> 
> ## guile2 failed, missing function getpagesize
> 
> Added this to unistd.h, not sure if correct or correct location but it allowed guile to build...
> 
> #ifdef _WIN32
> #define getpagesize() 65536
> #endif
> 
> Rerun build phase...
> 
> ### Build Completes ###
> 
> Open PowerShell
> cd c:\gcdev64\src\gnucash-on-windows.git\
> .\bundle-mingw64.ps1 -root_dir c:\gcdev64 -target_dir c:\gcdev64\gnucash\stable -package gnucash -git_build $true
> 
> Setup file created in c:\gcdev64\gnucash\stable, execute it and git version of Gnucash is Installed.
> 
> Regards,
> Bob
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20240903/e119c5e1/attachment.htm>


More information about the gnucash-devel mailing list