[GNC-dev] Windows Build VM
Manfred Usselmann
manfred at usselmann.de
Thu Nov 9 19:21:40 EST 2023
Am 2023-11-09 22:46, schrieb John Ralls:
>> On Nov 9, 2023, at 1:38 PM, Manfred Usselmann <manfred at usselmann.de>
>> wrote:
>> Am 2023-11-07 04:53, schrieb john:
>>>> On Nov 6, 2023, at 16:12, Manfred Usselmann <manfred at usselmann.de>
>>>> wrote:
>>>> Am 2023-11-06 19:31, schrieb john:
>>>>> On Nov 6, 2023, at 05:11, Manfred Usselmann <manfred at usselmann.de>
>>>>> wrote:
>>>>> Am 2023-10-01 17:47, schrieb john:
>>>>>>> On Oct 1, 2023, at 06:00, Derek Atkins <derek at ihtfp.com> 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
More information about the gnucash-devel
mailing list