Re: [GNC-dev] Windows Build VM
Manfred Usselmann <[email protected]> Fri, 10 Nov 2023 01:21:40 +0100
| Newsgroups | gmane.comp.gnome.apps.gnucash.devel |
|---|---|
| Organization | Usselmann Software Solutions GmbH |
| Message-ID | <[email protected]> |
Am 2023-11-09 22:46, schrieb John Ralls: >> On Nov 9, 2023, at 1:38 PM, Manfred Usselmann <[email protected]> >> wrote: >> Am 2023-11-07 04:53, schrieb john: >>>> On Nov 6, 2023, at 16:12, Manfred Usselmann <[email protected]> >>>> wrote: >>>> Am 2023-11-06 19:31, schrieb john: >>>>> On Nov 6, 2023, at 05:11, Manfred Usselmann <[email protected]> >>>>> wrote: >>>>> Am 2023-10-01 17:47, schrieb john: >>>>>>> On Oct 1, 2023, at 06:00, Derek Atkins <[email protected]> wrote: >>>>>>> On Sun, October 1, 2023 12:00 am, flywire wrote: >>>>>>>> https://lists.gnucash.org/pipermail/gnucash-user/2023-April/106619.html >>>>>>>> John wrote: >>>>>>>>> we don't have a Windows CI action, the nightly builds are done >>>>>>>>> with the >>>>>>>>> https://github.com/gnucash/GnuCash-on-windows powershell >>>>>>>>> scripts on a >>>>>>>>> Windows VM in Derek's basement. >>>>> The nightly builds are those on >>>>> https://code.gnucash.org/builds/win32/stable/, right? >>>>> Would it be possible to additonally provide a version there which >>>>> includes the Python bindings? >>>> No, there's no way to make that work with an installed package. >>>>> Since there already exists a working build environment, I would >>>>> hope that it's not too much work? >>>> That depends on what you want to use for your Python. If you can use >>>> the MSYS2 environment from Powershell (some MSYS2 things work >>>> directly in Powershell, others need a Bash shell) then you can >>>> simply add -DWITH_PYTHON=ON to the CMakeArgs in jhbuild and build >>>> it. Don't run the installer, just add >>>> c:\gcdev64\gnucash\stable\inst\lib\python3.11\site-packages to >>>> PYTHONPATH and run your scripts. >>>> If the MSYS2 python doesn't work for you then you'll need to fiddle >>>> with paths and such so that CMake finds the python libraries that >>>> you want it to. You must make sure that everything Python is linked >>>> to the same Python installation. >>>> >>>> Thanks, this sounds promising. >>>> >>>> Results so far: >>>> >>>> - I had to set-executionpolicy Unrestricted. >>>> >>>> - I had to add libgcrypt to setup-mngw54.ps1 >>>> >>>> - How do I add -DWITH_PYTHON=ON to jhbuildrc? >>>> append_autogenargs("gnucash", "-DWITH_PYTHON=ON") ? >>> >>> That will work. >>> >> >> Good, thanks. >> >>> >>>> >>>> - configure OpenSP fails: >>>> >>>> checking build system type... Invalid configuration >>>> `x86_64-w64-mingw64': system `mingw64' not recognized >>>> configure: error: /bin/sh >>>> /C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/src/OpenSP-1.5.2/config.sub >>>> x86_64-w64-mingw64 failed >>>> *** Error during phase configure of OpenSP: ########## Error running >>>> /bin/bash -c "pushd >>>> /C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/src/OpenSP-1.5.2 >>>> && ./autoinit.sh && popd && >>>> /C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/src/OpenSP-1.5.2/configure >>>> --prefix /C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst >>>> --disable-Werror --disable-static --enable-shared >>>> --disable-doc-build --disable-nls --build=x86_64-w64-mingw64" *** >>>> [1/14] >>> >>> That probably requires regenerating configure, which may or may not >>> be as simple as running autoinit.sh. >> Autoinit is already called for OpenSP in gnucash.modules. I'm afraid >> this is a bit over my head. :-( > > Then do a mingw32 build like the distribution. We know that works. Ok, this looks better but ends with I: Deleting .la file: '/C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/_jhbuild/root-libofx/C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/lib/libofx.la' I: Moving temporary DESTDIR '/C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/_jhbuild/root-libofx' into build prefix Traceback (most recent call last): File "/usr/bin/jhbuild", line 23, in <module> jhbuild.main.main(sys.argv[1:]) File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/main.py", line 118, in main rc = jhbuild.commands.run(command, config, args, help=lambda: print_help(parser)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/commands/__init__.py", line 186, in run return cmd.execute(config, args, help) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/commands/__init__.py", line 53, in execute return self.run(config, options, args, help) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/commands/base.py", line 263, in run return build.build() ^^^^^^^^^^^^^ File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/frontends/buildscript.py", line 171, in build error, altphases = module.run_phase(self, phase) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/modtypes/__init__.py", line 422, in run_phase method(buildscript) File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/modtypes/autotools.py", line 320, in do_install self.process_install(buildscript, self.get_revision()) File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/modtypes/__init__.py", line 389, in process_install buildscript.moduleset.packagedb.add(self.name, revision or '', File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/utils/packagedb.py", line 176, in add pkg.write() File "/C/users/mu/Entwicklung/GnuCash/gcdev64/src/jhbuild.git/jhbuild/utils/packagedb.py", line 79, in write writer.fp.write('\n'.join(self.manifest).encode('utf-8', 'backslashreplace') + b'\n') ^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: can only join an iterable Regards, Manfred