assert g_type != TYPE_NONE
cedk opened this issue · 15 comments
Building exe with cx_Freeze for tryton does not work on 64 bits. When the executable is launched it raise this error:
...
File ".../lib/python3.11/importlib/__init__.py", lint 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File ".../lib/python3.11/site-packages/gi/overrides/Pango.py", line 41, in <module>
FontDescription = override(FontDescription)
File ".../lib/python3.11/site-packages/gi/overrides/__init__.py", line 189, in override
assert g_type != TYPE_NONE
AssertionError
To Reproduce
Running setup-freeze.py install_exe -d dist
under MINGW64 with cx_Freeze-7.0.0
But when run under MINGW32 with cx_Freeze 6.15.10 (last version packaged), the executable works.
Desktop (please complete the following information):
- Windows 10 Home
- amd64
- cx_Freeze 7.0.0
- Python 3.11.9
Additional context
When running the application directly under MINGW64, it is working.
I hope it's the regression I fixed in #2357 and backported to 7.0 in msys. This version should be released soon.
Still in the queue to be published: https://packages.msys2.org/queue
Please test it when it is published and let me know. If not, give me more details.
Got this error with the latest version (7.0.0-2):
running install_exe
running build_exe
Traceback (most recent call last):
File "C:/msys64/home/adminsaluc/tryton/tryton/setup-freeze.py", line 125, in <module>
setup(name='tryton',
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/__init__.py", line 65, in setup
return setuptools.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in
setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in
run_commands
dist.run_commands()
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in
run_commands
self.run_command(cmd)
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/dist.py", line 963, in run_command
super().run_command(command)
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in
run_command
cmd_obj.run()
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/command/install_exe.py", line 45, i
n run
self.run_command("build_exe")
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in r
un_command
self.distribution.run_command(command)
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/dist.py", line 963, in run_command
super().run_command(command)
File "C:/msys64/mingw64/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in
run_command
cmd_obj.run()
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/command/build_exe.py", line 260, in
run
freezer: Freezer = Freezer(
^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/freezer.py", line 772, in __init__
Freezer.__init__(self, *args, **kwargs)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/freezer.py", line 125, in __init__
self.finder: ModuleFinder = self._get_module_finder()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/freezer.py", line 398, in _get_modu
le_finder
finder.include_package(name)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 794, in include_pa
ckage
module = self._import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 693, in _scan_code
self._scan_code(
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 693, in _scan_code
self._scan_code(
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 693, in _scan_code
self._scan_code(
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 470, in _load_modu
le_code
self._scan_code(module, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 693, in _scan_code
self._scan_code(
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 655, in _scan_code
imported_module = self._import_module(
^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 268, in _import_mo
dule
module = self._internal_import_module(name, deferred_imports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 355, in _internal_
import_module
module = self._load_module(
^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 422, in _load_modu
le
self._load_module_code(module, loader, deferred_imports)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/finder.py", line 463, in _load_modu
le_code
module.hook(self)
File "C:/msys64/mingw64/lib/python3.11/site-packages/cx_Freeze/hooks/__init__.py", line 605, in lo
ad_subprocess
module.exclude_names.update(exclude_names)
^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'exclude_names' where it is not associated with a va
lue
I hope it's the regression I fixed in #2357 and backported to 7.0 in msys. This version should be released soon. Still in the queue to be published: https://packages.msys2.org/queue
Please test it when it is published and let me know. If not, give me more details.
I tried with last version and #2363 but it still crashes.
Here is a screenshot of the full traceback (sorry I could not copy it):
I created #2364 as simple example to reproduce the problem.
It fails the same way as the built of tryton client.
I could track that the problem appears in version 6.15.12
I'm working on tests for the msys2 version, so it avoids these errors. I ended up discovering other errors with this #2367.
I tested your sample with this version and it worked.
I'm waiting for the pytest-datafiles package to become available and then I'll send a new patch.
msys2/MINGW-packages#20760 merged.
Still the same error with latest mingw package 7.0.0-4 :(
Same for us in pychess/pychess#2119
As a workaround:
put all required files in lib:
include_files.append((dll_path, os.path.join("lib", dll)))
and added before import gi
:
import os
import sys
if hasattr(sys, "frozen"):
frozen_dir = os.path.dirname(sys.executable)
os.environ["PATH"] = (
os.environ["PATH"] + os.pathsep + os.path.join(frozen_dir, "lib")
)
You can test the patch in the latest development build (7.1.0.dev9):
pip install --force --no-cache --pre --extra-index-url https://marcelotduarte.github.io/packages/ cx_Freeze
For conda-forge the command is:
conda install -y --no-channel-priority -S -c https://marcelotduarte.github.io/packages/conda cx_Freeze
For msys2, download the file at: https://marcelotduarte.github.io/packages/msys2/ and use it w/ pacman -U
@cedk @gbtami @mrichez-saluc Can you test the patch?
Sorry for the delay. Yeah, it's finally working with your latest patch :-)
Yes, it works for pychess as well.
Thx for your hard work!