Installing with pyinstaller on MacOS with M1 (Apple Silicon/ARM) fails
Versions
- OS: macOS Big Sur 11.3.1 (20E241)
- Gajim version: 1.3
- GTK version:
- Python-nbxmpp version:
Steps to reproduce the problem
- I followed the instructions to install Gajim on Mac OS.
- pip3 install PyInstaller
- mac/makebundle.py
Expected behavior
Gajim in the Applications folder
Actual behavior
19 INFO: PyInstaller: 4.2
19 INFO: Python: 3.9.5
25 INFO: Platform: macOS-11.3.1-arm64-arm-64bit
28 INFO: UPX is not available.
No translations found
Dirs searched: [PosixPath('/Users/nfabiano/.local/share'), PosixPath('/opt/homebrew/share'), PosixPath('/usr/share')]
122 INFO: Extending PYTHONPATH with paths
['/Users/nfabiano/gajim', '/Users/nfabiano/gajim']
125 INFO: checking Analysis
125 INFO: Building Analysis because Analysis-00.toc is non existent
125 INFO: Initializing module dependency graph...
127 INFO: Caching module graph hooks...
129 WARNING: Several hooks defined for module 'win32ctypes.core'. Please take care they do not conflict.
129 INFO: Analyzing base_library.zip ...
arch: posix_spawnp: /opt/homebrew/opt/python@3.9/bin/python3.9: Bad CPU type in executable
arch: posix_spawnp: /opt/homebrew/opt/python@3.9/bin/python3.9: Bad CPU type in executable
1197 INFO: Processing pre-find module path hook distutils from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_find_module_path/hook-distutils.py'.
1197 INFO: distutils: retargeting to non-venv dir '/opt/homebrew/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9'
2470 INFO: Caching module dependency graph...
2505 INFO: running Analysis Analysis-00.toc
2506 ERROR: Can not find path /usr/lib/libSystem.B.dylib (needed by /opt/homebrew/opt/python@3.9/bin/../Frameworks/Python.framework/Versions/3.9/bin/python3.9)
2507 ERROR: Can not find path /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (needed by /opt/homebrew/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/Python)
2507 ERROR: Can not find path /usr/lib/libSystem.B.dylib (needed by /opt/homebrew/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/Python)
2507 INFO: Analyzing launch.py
2628 INFO: Processing pre-safe import module hook gi.repository.GLib from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.GLib.py'.
3142 INFO: Processing pre-safe import module hook gi.repository.Gtk from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.Gtk.py'.
3356 INFO: Processing pre-safe import module hook gi.repository.Gio from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.Gio.py'.
3393 INFO: Processing pre-safe import module hook gi.repository.Gdk from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.Gdk.py'.
3505 INFO: Processing pre-safe import module hook gi.repository.GObject from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.GObject.py'.
4479 INFO: Processing pre-safe import module hook gi.repository.GdkPixbuf from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.GdkPixbuf.py'.
4479 INFO: Processing pre-safe import module hook gi.repository.Pango from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.Pango.py'.
4961 INFO: Processing pre-find module path hook site from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_find_module_path/hook-site.py'.
4961 INFO: site: retargeting to fake-dir '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/fake-modules'
5646 INFO: Processing pre-safe import module hook gi.repository.Gst from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-gi.repository.Gst.py'.
5693 INFO: Analyzing hidden import 'gajim.common.modules.adhoc_commands'
5698 INFO: Analyzing hidden import 'gajim.common.modules.annotations'
5698 INFO: Analyzing hidden import 'gajim.common.modules.bits_of_binary'
5701 INFO: Analyzing hidden import 'gajim.common.modules.blocking'
5703 INFO: Analyzing hidden import 'gajim.common.modules.bookmarks'
5707 INFO: Analyzing hidden import 'gajim.common.modules.caps'
5710 INFO: Analyzing hidden import 'gajim.common.modules.carbons'
5710 INFO: Analyzing hidden import 'gajim.common.modules.chat_markers'
5712 INFO: Analyzing hidden import 'gajim.common.modules.chatstates'
5716 INFO: Analyzing hidden import 'gajim.common.modules.delimiter'
5717 INFO: Analyzing hidden import 'gajim.common.modules.discovery'
5720 INFO: Analyzing hidden import 'gajim.common.modules.entity_time'
5722 INFO: Analyzing hidden import 'gajim.common.modules.gateway'
5723 INFO: Analyzing hidden import 'gajim.common.modules.httpupload'
5729 INFO: Analyzing hidden import 'gajim.common.modules.http_auth'
5730 INFO: Analyzing hidden import 'gajim.common.modules.iq'
5731 INFO: Analyzing hidden import 'gajim.common.modules.last_activity'
5732 INFO: Analyzing hidden import 'gajim.common.modules.mam'
5737 INFO: Analyzing hidden import 'gajim.common.modules.message'
5741 INFO: Analyzing hidden import 'gajim.common.modules.metacontacts'
5742 INFO: Analyzing hidden import 'gajim.common.modules.muc'
5752 INFO: Analyzing hidden import 'gajim.common.modules.pep'
5753 INFO: Analyzing hidden import 'gajim.common.modules.ping'
5754 INFO: Analyzing hidden import 'gajim.common.modules.presence'
5758 INFO: Analyzing hidden import 'gajim.common.modules.pubsub'
5759 INFO: Analyzing hidden import 'gajim.common.modules.receipts'
5760 INFO: Analyzing hidden import 'gajim.common.modules.register'
5761 INFO: Analyzing hidden import 'gajim.common.modules.roster'
5765 INFO: Analyzing hidden import 'gajim.common.modules.roster_item_exchange'
5766 INFO: Analyzing hidden import 'gajim.common.modules.search'
5768 INFO: Analyzing hidden import 'gajim.common.modules.security_labels'
5769 INFO: Analyzing hidden import 'gajim.common.modules.software_version'
5769 INFO: Analyzing hidden import 'gajim.common.modules.user_activity'
5770 INFO: Analyzing hidden import 'gajim.common.modules.user_avatar'
5771 INFO: Analyzing hidden import 'gajim.common.modules.user_location'
5772 INFO: Analyzing hidden import 'gajim.common.modules.user_mood'
5773 INFO: Analyzing hidden import 'gajim.common.modules.user_nickname'
5774 INFO: Analyzing hidden import 'gajim.common.modules.user_tune'
5776 INFO: Analyzing hidden import 'gajim.common.modules.vcard4'
5776 INFO: Analyzing hidden import 'gajim.common.modules.vcard_avatars'
5778 INFO: Analyzing hidden import 'gajim.common.modules.vcard_temp'
5779 INFO: Analyzing hidden import 'gajim.common.modules.announce'
5779 INFO: Analyzing hidden import 'gajim.common.modules.ibb'
5782 INFO: Analyzing hidden import 'gajim.common.modules.jingle'
5814 INFO: Processing module hooks...
5814 INFO: Loading module hook 'hook-cryptography.py' from '/opt/homebrew/lib/python3.9/site-packages/_pyinstaller_hooks_contrib/hooks/stdhooks'...
arch: posix_spawnp: /opt/homebrew/opt/python@3.9/bin/python3.9: Bad CPU type in executable
arch: posix_spawnp: /opt/homebrew/opt/python@3.9/bin/python3.9: Bad CPU type in executable
5825 INFO: Loading module hook 'hook-pycparser.py' from '/opt/homebrew/lib/python3.9/site-packages/_pyinstaller_hooks_contrib/hooks/stdhooks'...
5825 INFO: Loading module hook 'hook-gi.repository.GdkPixbuf.py' from '/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks'...
arch: posix_spawnp: /opt/homebrew/opt/python@3.9/bin/python3.9: Bad CPU type in executable
Traceback (most recent call last):
File "/opt/homebrew/bin/pyinstaller", line 8, in <module>
sys.exit(run())
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/__main__.py", line 114, in run
run_build(pyi_config, spec_file, **vars(args))
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/__main__.py", line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/building/build_main.py", line 725, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/building/build_main.py", line 672, in build
exec(code, spec_namespace)
File "gajim.spec", line 19, in <module>
a = Analysis(['launch.py'],
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/building/build_main.py", line 242, in __init__
self.__postinit__()
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/building/datastruct.py", line 160, in __postinit__
self.assemble()
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/building/build_main.py", line 420, in assemble
self.graph.process_post_graph_hooks()
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/depend/analysis.py", line 367, in process_post_graph_hooks
module_hook.post_graph()
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/depend/imphook.py", line 447, in post_graph
self._load_hook_module()
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/depend/imphook.py", line 408, in _load_hook_module
self._hook_module = importlib_load_source(
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/compat.py", line 598, in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 1034, in load_module
File "<frozen importlib._bootstrap_external>", line 859, in load_module
File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
File "<frozen importlib._bootstrap>", line 711, in _load
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 855, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/hooks/hook-gi.repository.GdkPixbuf.py", line 36, in <module>
libdir = get_gi_libdir('GdkPixbuf', '2.0')
File "/opt/homebrew/lib/python3.9/site-packages/PyInstaller/utils/hooks/gi.py", line 46, in get_gi_libdir
return os.path.normpath(os.path.dirname(path))
File "/opt/homebrew/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/posixpath.py", line 152, in dirname
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
Traceback (most recent call last):
File "/Users/nfabiano/gajim/mac/makebundle.py", line 27, in <module>
run(['pyinstaller', 'gajim.spec'], check=True)
File "/opt/homebrew/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['pyinstaller', 'gajim.spec']' returned non-zero exit status 1.