[GNC-dev] Bootstrap Win10 Build Environment

John Ralls jralls at ceridwen.us
Thu May 28 23:30:46 EDT 2020



> On May 28, 2020, at 7:45 PM, flywire <flywire0 at gmail.com> wrote:
> 
> Does anyone actually build from windows?  I seem to be getting even less
> success with the setup script now.
> 
> Hopefully my main issue is lack of familiarity with the environment but I
> might have broken the security settings. I'd be interested to see a log of
> someones install following
> https://github.com/Gnucash/gnucash-on-windows/blob/master/README.md and
> https://wiki.gnucash.org/wiki/Building_on_Windows
> 
> What should I do about the message during the script: HTML Help 1.31
> Update, This computer already has a newer version of HTML Help.
> 
> ------
> 
> PS E:\gcdev64> *..\setup-mingw64.ps1 -target_dir: E:\gcdev64 -x86_64: $true*
> ..\setup-mingw64.ps1 : File E:\setup-mingw64.ps1 cannot be loaded. The file
> E:\setup-mingw64.ps1 is not digitally signed. You cannot
> run this script on the current system. For more information about running
> scripts and setting execution policy, see
> about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
> At line:1 char:1
> + ..\setup-mingw64.ps1 -target_dir: E:\gcdev64 -x86_64: $true
> + ~~~~~~~~~~~~~~~~~~~~
>    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
>    + FullyQualifiedErrorId : UnauthorizedAccess
> PS E:\gcdev64> unblock-file ..\setup-mingw64.ps1
> PS E:\gcdev64> ..\setup-mingw64.ps1 -target_dir: E:\gcdev64 -x86_64: $true
> 
> 
>    Directory: E:\gcdev64
> 
> 
> Mode                LastWriteTime         Length Name
> ----                -------------         ------ ----
> d-----       26/05/2020   6:15 PM                downloads
> Downloading E:\gcdev64\\downloads\msys2.exe from
> http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20190524.exe
> Installing E:\gcdev64\\downloads\msys2.exe --script E:\gcdev64\input.qs
> Downloading E:\gcdev64\\downloads\\htmlhelp.exe from
> http://download.microsoft.com/download/0/a/9/0a939ef6-e31c-430f-a3df-dfae7960d564/htmlhelp.exe
> Installing E:\gcdev64\\downloads\htmlhelp.exe
> Downloading E:\gcdev64\\downloads\innosetup-5.5.9-unicode.exe from
> http://files.jrsoftware.org/is/5/innosetup-5.5.9-unicode.exe
> Installing E:\gcdev64\\downloads\innosetup-5.5.9-unicode.exe  /verysilent
> /suppressmsgboxes /nocancel /norestart /dir="C:\Program Files (x86)\inno"
> 
> Updating the installation. Accept the proposed changes. If the window
> doesn't close on its own then close it and re-run the script when it
> finishes.
> :: Synchronizing package databases...
> mingw32                                                462.5 KiB   301K/s
> 00:02 [#############################################] 100%
> mingw32.sig                                            119.0   B  0.00B/s
> 00:00 [#############################################] 100%
> mingw64                                                465.1 KiB   480K/s
> 00:01 [#############################################] 100%
> mingw64.sig                                            119.0   B   116K/s
> 00:00 [#############################################] 100%
> msys                                                   183.3 KiB   692K/s
> 00:00 [#############################################] 100%
> msys.sig                                               119.0   B  0.00B/s
> 00:00 [#############################################] 100%
> :: Starting core system upgrade...
> warning: terminate other MSYS2 programs before proceeding
> resolving dependencies...
> looking for conflicting packages...
> 
> Packages (8) bash-4.4.023-2  filesystem-2020.02-2  libzstd-1.4.4-2
> mintty-1~3.1.6-1  msys2-runtime-3.1.4-3  pacman-5.2.1-8
>             pacman-mirrors-20200329-1  zstd-1.4.4-2
> 
> Total Download Size:   19.29 MiB
> Total Installed Size:  66.50 MiB
> Net Upgrade Size:      -3.22 MiB
> 
> :: Proceed with installation? [Y/n]
> :: Retrieving packages...
> msys2-runtime-3.1.4-3-x86_64                             2.7 MiB   614K/s
> 00:04 [#############################################] 100%
> bash-4.4.023-2-x86_64                                 1934.3 KiB  1269K/s
> 00:02 [#############################################] 100%
> filesystem-2020.02-2-x86_64                             44.9 KiB  8.78M/s
> 00:00 [#############################################] 100%
> mintty-1~3.1.6-1-x86_64                                678.5 KiB  2.16M/s
> 00:00 [#############################################] 100%
> pacman-mirrors-20200329-1-any                           20.3 KiB  4.95M/s
> 00:00 [#############################################] 100%
> libzstd-1.4.4-2-x86_64                                 259.0 KiB  8.43M/s
> 00:00 [#############################################] 100%
> zstd-1.4.4-2-x86_64                                    304.7 KiB  8.04M/s
> 00:00 [#############################################] 100%
> pacman-5.2.1-8-x86_64                                   13.4 MiB  2.99M/s
> 00:04 [#############################################] 100%
> (8/8) checking keys in keyring
>      [#############################################] 100%
> (8/8) checking package integrity
>      [#############################################] 100%
> (8/8) loading package files
>     [#############################################] 100%
> (8/8) checking for file conflicts
>     [#############################################] 100%
> (8/8) checking available disk space
>     [#############################################] 100%
> warning: could not get file information for clang32/
> warning: could not get file information for clang32/bin/
> warning: could not get file information for clang32/etc/
> warning: could not get file information for clang32/etc/config.site
> warning: could not get file information for clang32/include/
> warning: could not get file information for clang32/lib/
> warning: could not get file information for clang32/share/
> warning: could not get file information for clang64/
> warning: could not get file information for clang64/bin/
> warning: could not get file information for clang64/etc/
> warning: could not get file information for clang64/etc/config.site
> warning: could not get file information for clang64/include/
> warning: could not get file information for clang64/lib/
> warning: could not get file information for clang64/share/
> warning: could not get file information for opt/
> :: Processing package changes...
> (1/8) upgrading msys2-runtime
>     [#############################################] 100%
> (2/8) upgrading bash
>      [#############################################] 100%
> (3/8) upgrading filesystem
>      [#############################################] 100%
> (4/8) upgrading mintty
>      [#############################################] 100%
> (5/8) upgrading pacman-mirrors
>      [#############################################] 100%
> (6/8) installing libzstd
>      [#############################################] 100%
> (7/8) installing zstd
>     [#############################################] 100%
> (8/8) upgrading pacman
>      [#############################################] 100%
> warning: terminate MSYS2 without returning to shell and check for updates
> again
> warning: for example close your terminal window instead of calling exit
>      0 [main] bash (14688) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      1 [main] bash (13548) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      0 [main] bash (2624) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
> Now we'll install a pre-built webkitgtk3 package we've created and placed
> in the GnuCash project on SourceForge. It will install several more
> dependencies from Mingw-w64's repository.
>      0 [main] bash (6860) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      1 [main] bash (14260) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      0 [main] bash (11160) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      0 [main] bash (13596) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      0 [main] bash (13112) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
> 
> Now we'll install the dependencies. Accept the installation as usual. About
> half-way through it will stop with a message about fontconfig. Just type
> "Return" at it and it will resume after a minute or two (be patient!) and
> complete the installation.
>      0 [main] bash (9880) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
> 
> Next we'll install the HTML Help Workshop includes and libraries into our
> MinGW directory.
>      0 [main] bash (4896) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      0 [main] bash (14224) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
>      0 [main] bash (6424) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
> HTML Help Workshop isn't correctly installed.
> 
> Clone the gnucash-on-windows repository into the target source directory,
> patch jhbuild to disable its DESTDIR dance and set up jhbuildrc with our
> prefixes.
> d-----       26/05/2020   6:22 PM                src
>      1 [main] bash (7296) shared_info::initialize: size of shared memory
> region changed from 51128 to 40888
> Failed to clone the gnucash-on-windows repo, exiting.
> 

MinGW64's latest upgrade seems to have broken a bunch of things, including MinGW64 itself. It's recoverable, but the prebuilt webkitgtk package got obsoleted as well. I've got a rebuild running, should be done by tomorrow morning California time.

In the meantime, open Task Manager and check the details tab for instances of pacman. Kill any that you find. Try opening an MSYS2 terminal; if it crashes immediately go back to Task Manager and look for more pacman instances and kill any you find. It took me 3 iterations yesterday but only one today on a different VM.

Once you have an MSYS2 terminal that stays open run `pacman -Syuu` until it says there's nothing to update.

Keep an eye on the gnucash-on-windows repo, watching for my next update with the new webkitgtk package. When that's in you can download and run the new setup-mingw64.ps1 after which you should be able to build GnuCash... though Geert had trouble yesterday with getting Guile to build.

The answer to your first question is not much. Mike Alexander, Jean Laroche, and I use MacOS, everyone else uses Linux. We use the MinGW64 environment for testing when we've touched something that might not work right on Windows, reproducing bugs, and for building the Windows AIO packages. You'd have to be a confirmed Masochist to want to develop mainly in MinGW.

Regards,
John Ralls



More information about the gnucash-devel mailing list