I have been attempting to use wxPython in a snap for quite a long time, but I have run into a problem. Without a clear error message. The snapcraft.yaml file is as follows:
name: sqab-tuxbert
version: '0.1'
summary: SQAB - Statistics Quack Asparaguus Bologne
description: |
Prints a simple message using wxPython.
grade: devel
confinement: devmode
apps:
sqab-tuxbert:
command: bin/sqab
parts:
sqab-tuxbert:
source: https://github.com/tuxbert/sqab.git
plugin: python
build-packages:
- libwebkitgtk-dev
- libjpeg-dev
- libtiff-dev
- libsdl1.2-dev
- libgstreamer-plugins-base0.10-dev
- freeglut3
- freeglut3-dev
- xorg-dev
- libglw1-mesa-dev
- libglw1-mesa
- libgtk-3-dev
- libglu1-mesa
- libgl1-mesa-dev
- libglib2.0-dev
- libgtk2.0-dev
- libnotify-dev
- libgstreamer1.0-dev
- libgstreamer-plugins-base1.0-dev
- gstreamer1.0-plugins-base
stage-packages:
- libgtk2.0-0
python-packages: [wxpython]
I don’t know what is going on, but the output which resembles an error message is as follows:
::wxWebViewFSHandler *sipCpp = reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:134:28: error: ‘sipCpp’ was not declared in this scope
::wxWebViewFSHandler *sipCpp = reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:134:57: error: ‘wxWebViewFSHandler’ in namespace ‘::’ does not name a type
::wxWebViewFSHandler *sipCpp = reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:134:76: error: expected ‘>’ before ‘*’ token
::wxWebViewFSHandler *sipCpp = reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:134:76: error: expected ‘(’ before ‘*’ token
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:134:77: error: expected primary-expression before ‘>’ token
::wxWebViewFSHandler *sipCpp = reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:134:87: error: expected ‘)’ before ‘;’ token
::wxWebViewFSHandler *sipCpp = reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:137:31: error: ‘wxWebViewHandler’ in namespace ‘::’ does not name a type
return static_cast< ::wxWebViewHandler *>(sipCpp);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:137:48: error: expected ‘>’ before ‘*’ token
return static_cast< ::wxWebViewHandler *>(sipCpp);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:137:48: error: expected ‘(’ before ‘*’ token
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:137:49: error: expected primary-expression before ‘>’ token
return static_cast< ::wxWebViewHandler *>(sipCpp);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:137:58: error: expected ‘)’ before ‘;’ token
return static_cast< ::wxWebViewHandler *>(sipCpp);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp: In function ‘void release_wxWebViewFSHandler(void*, int)’:
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:152:36: error: ‘wxWebViewFSHandler’ in namespace ‘::’ does not name a type
delete reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:152:55: error: expected ‘>’ before ‘*’ token
delete reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:152:55: error: expected ‘(’ before ‘*’ token
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:152:56: error: expected primary-expression before ‘>’ token
delete reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:152:66: error: expected ‘)’ before ‘;’ token
delete reinterpret_cast< ::wxWebViewFSHandler *>(sipCppV);
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp: In function ‘void* init_type_wxWebViewFSHandler(sipSimpleWrapper*, PyObject*, PyObject*, PyObject**, PyObject**, PyObject**)’:
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:206:18: error: ‘wxWebViewFSHandler’ in namespace ‘::’ does not name a type
const ::wxWebViewFSHandler* a0;
^
../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp:208:112: error: ‘a0’ was not declared in this scope
if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J9", sipType_wxWebViewFSHandler, &a0))
^
Waf: Leaving directory `/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3'
Build failed
-> task in '_html2' failed (exit status 1):
{task 140691507653376: cxx sip_html2cmodule.cpp -> sip_html2cmodule.cpp.17.o}
['/usr/bin/g++', '-I/usr/include/python3.5m', '-fPIC', '-pthread', '-pthread', '-UNDEBUG', '-g', '-pthread', '-fwrapv', '-fstack-protector-strong', '-flto', '-fuse-linker-plugin', '-ffat-lto-objects', '-fno-strict-aliasing', '-I/tmp/pip-build-dngzvf3f/wxpython/build/wxbld/gtk3/lib/wx/include/gtk3-unicode-3.0', '-I/tmp/pip-build-dngzvf3f/wxpython/ext/wxWidgets/include', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/src', '-I/tmp/pip-build-dngzvf3f/wxpython/src', '-I/usr/include/python3.5m', '-DPYTHONDIR="/usr/local/lib/python3.5/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python3.5/site-packages"', '-DHAVE_PYTHON_H=1', '-DHAVE_WX=1', '-DHAVE_WXADV=1', '-DHAVE_WXSTC=1', '-DHAVE_WXHTML=1', '-DHAVE_WXGL=1', '-DHAVE_WXWEBVIEW=1', '-DHAVE_WXXML=1', '-DHAVE_WXXRC=1', '-DHAVE_WXRICHTEXT=1', '-DHAVE_WXMEDIA=1', '-DHAVE_WXRIBBON=1', '-DHAVE_WXPROPGRID=1', '-DHAVE_WXAUI=1', '-D_FILE_OFFSET_BITS=64', '-DWXUSINGDLL', '-D__WXGTK__', '../../../../sip/cpp/sip_html2cmodule.cpp', '-c', '-o', 'sip/cpp/sip_html2cmodule.cpp.17.o']
-> task in '_html2' failed (exit status 1):
{task 140691507653488: cxx sip_html2wxWebView.cpp -> sip_html2wxWebView.cpp.17.o}
['/usr/bin/g++', '-I/usr/include/python3.5m', '-fPIC', '-pthread', '-pthread', '-UNDEBUG', '-g', '-pthread', '-fwrapv', '-fstack-protector-strong', '-flto', '-fuse-linker-plugin', '-ffat-lto-objects', '-fno-strict-aliasing', '-I/tmp/pip-build-dngzvf3f/wxpython/build/wxbld/gtk3/lib/wx/include/gtk3-unicode-3.0', '-I/tmp/pip-build-dngzvf3f/wxpython/ext/wxWidgets/include', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/src', '-I/tmp/pip-build-dngzvf3f/wxpython/src', '-I/usr/include/python3.5m', '-DPYTHONDIR="/usr/local/lib/python3.5/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python3.5/site-packages"', '-DHAVE_PYTHON_H=1', '-DHAVE_WX=1', '-DHAVE_WXADV=1', '-DHAVE_WXSTC=1', '-DHAVE_WXHTML=1', '-DHAVE_WXGL=1', '-DHAVE_WXWEBVIEW=1', '-DHAVE_WXXML=1', '-DHAVE_WXXRC=1', '-DHAVE_WXRICHTEXT=1', '-DHAVE_WXMEDIA=1', '-DHAVE_WXRIBBON=1', '-DHAVE_WXPROPGRID=1', '-DHAVE_WXAUI=1', '-D_FILE_OFFSET_BITS=64', '-DWXUSINGDLL', '-D__WXGTK__', '../../../../sip/cpp/sip_html2wxWebView.cpp', '-c', '-o', 'sip/cpp/sip_html2wxWebView.cpp.17.o']
-> task in '_html2' failed (exit status 1):
{task 140691507653600: cxx sip_html2wxWebViewArchiveHandler.cpp -> sip_html2wxWebViewArchiveHandler.cpp.17.o}
['/usr/bin/g++', '-I/usr/include/python3.5m', '-fPIC', '-pthread', '-pthread', '-UNDEBUG', '-g', '-pthread', '-fwrapv', '-fstack-protector-strong', '-flto', '-fuse-linker-plugin', '-ffat-lto-objects', '-fno-strict-aliasing', '-I/tmp/pip-build-dngzvf3f/wxpython/build/wxbld/gtk3/lib/wx/include/gtk3-unicode-3.0', '-I/tmp/pip-build-dngzvf3f/wxpython/ext/wxWidgets/include', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/src', '-I/tmp/pip-build-dngzvf3f/wxpython/src', '-I/usr/include/python3.5m', '-DPYTHONDIR="/usr/local/lib/python3.5/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python3.5/site-packages"', '-DHAVE_PYTHON_H=1', '-DHAVE_WX=1', '-DHAVE_WXADV=1', '-DHAVE_WXSTC=1', '-DHAVE_WXHTML=1', '-DHAVE_WXGL=1', '-DHAVE_WXWEBVIEW=1', '-DHAVE_WXXML=1', '-DHAVE_WXXRC=1', '-DHAVE_WXRICHTEXT=1', '-DHAVE_WXMEDIA=1', '-DHAVE_WXRIBBON=1', '-DHAVE_WXPROPGRID=1', '-DHAVE_WXAUI=1', '-D_FILE_OFFSET_BITS=64', '-DWXUSINGDLL', '-D__WXGTK__', '../../../../sip/cpp/sip_html2wxWebViewArchiveHandler.cpp', '-c', '-o', 'sip/cpp/sip_html2wxWebViewArchiveHandler.cpp.17.o']
-> task in '_html2' failed (exit status 1):
{task 140691507653712: cxx sip_html2wxWebViewEvent.cpp -> sip_html2wxWebViewEvent.cpp.17.o}
['/usr/bin/g++', '-I/usr/include/python3.5m', '-fPIC', '-pthread', '-pthread', '-UNDEBUG', '-g', '-pthread', '-fwrapv', '-fstack-protector-strong', '-flto', '-fuse-linker-plugin', '-ffat-lto-objects', '-fno-strict-aliasing', '-I/tmp/pip-build-dngzvf3f/wxpython/build/wxbld/gtk3/lib/wx/include/gtk3-unicode-3.0', '-I/tmp/pip-build-dngzvf3f/wxpython/ext/wxWidgets/include', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/src', '-I/tmp/pip-build-dngzvf3f/wxpython/src', '-I/usr/include/python3.5m', '-DPYTHONDIR="/usr/local/lib/python3.5/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python3.5/site-packages"', '-DHAVE_PYTHON_H=1', '-DHAVE_WX=1', '-DHAVE_WXADV=1', '-DHAVE_WXSTC=1', '-DHAVE_WXHTML=1', '-DHAVE_WXGL=1', '-DHAVE_WXWEBVIEW=1', '-DHAVE_WXXML=1', '-DHAVE_WXXRC=1', '-DHAVE_WXRICHTEXT=1', '-DHAVE_WXMEDIA=1', '-DHAVE_WXRIBBON=1', '-DHAVE_WXPROPGRID=1', '-DHAVE_WXAUI=1', '-D_FILE_OFFSET_BITS=64', '-DWXUSINGDLL', '-D__WXGTK__', '../../../../sip/cpp/sip_html2wxWebViewEvent.cpp', '-c', '-o', 'sip/cpp/sip_html2wxWebViewEvent.cpp.17.o']
-> task in '_html2' failed (exit status 1):
{task 140691507653824: cxx sip_html2wxWebViewFSHandler.cpp -> sip_html2wxWebViewFSHandler.cpp.17.o}
['/usr/bin/g++', '-I/usr/include/python3.5m', '-fPIC', '-pthread', '-pthread', '-UNDEBUG', '-g', '-pthread', '-fwrapv', '-fstack-protector-strong', '-flto', '-fuse-linker-plugin', '-ffat-lto-objects', '-fno-strict-aliasing', '-I/tmp/pip-build-dngzvf3f/wxpython/build/wxbld/gtk3/lib/wx/include/gtk3-unicode-3.0', '-I/tmp/pip-build-dngzvf3f/wxpython/ext/wxWidgets/include', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/sip/siplib', '-I/tmp/pip-build-dngzvf3f/wxpython/build/waf/3.5/gtk3/src', '-I/tmp/pip-build-dngzvf3f/wxpython/src', '-I/usr/include/python3.5m', '-DPYTHONDIR="/usr/local/lib/python3.5/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python3.5/site-packages"', '-DHAVE_PYTHON_H=1', '-DHAVE_WX=1', '-DHAVE_WXADV=1', '-DHAVE_WXSTC=1', '-DHAVE_WXHTML=1', '-DHAVE_WXGL=1', '-DHAVE_WXWEBVIEW=1', '-DHAVE_WXXML=1', '-DHAVE_WXXRC=1', '-DHAVE_WXRICHTEXT=1', '-DHAVE_WXMEDIA=1', '-DHAVE_WXRIBBON=1', '-DHAVE_WXPROPGRID=1', '-DHAVE_WXAUI=1', '-D_FILE_OFFSET_BITS=64', '-DWXUSINGDLL', '-D__WXGTK__', '../../../../sip/cpp/sip_html2wxWebViewFSHandler.cpp', '-c', '-o', 'sip/cpp/sip_html2wxWebViewFSHandler.cpp.17.o']
Command '"/root/build_sqab-tuxbert/parts/sqab-tuxbert/install/usr/bin/python3" /tmp/pip-build-dngzvf3f/wxpython/bin/waf-1.7.15-p1 --wx_config=/tmp/pip-build-dngzvf3f/wxpython/build/wxbld/gtk3/wx-config --gtk3 --python="/root/build_sqab-tuxbert/parts/sqab-tuxbert/install/usr/bin/python3" --out=build/waf/3.5/gtk3 configure build ' failed with exit code 1.
Finished command: build_py (3m43.730s)
Finished command: build (5m41.632s)
Command '"/root/build_sqab-tuxbert/parts/sqab-tuxbert/install/usr/bin/python3" -u build.py build' failed with exit code 1.
----------------------------------------
Failed building wheel for wxpython
Running setup.py clean for wxpython
Running setup.py bdist_wheel for sqab ... done
Stored in directory: /tmp/tmp8xlwvji9
Successfully built sqab
Failed to build wxpython
ERROR: Failed to build one or more wheels
Traceback (most recent call last):
File "/usr/bin/snapcraft", line 9, in <module>
load_entry_point('snapcraft==2.35', 'console_scripts', 'snapcraft')()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3/dist-packages/snapcraft/cli/__main__.py", line 19, in <module>
run(prog_name='snapcraft')
File "/usr/lib/python3/dist-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3/dist-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 140, in snap
project_options, directory=directory, output=output)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_packer.py", line 45, in snap
execute('prime', project_options)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 80, in execute
_Executor(config, project_options).run(step, part_names)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 175, in run
self._run_step(step, part, part_names)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 212, in _run_step
getattr(part, step)()
File "/usr/lib/python3/dist-packages/snapcraft/internal/pluginhandler/__init__.py", line 330, in build
self.plugin.build()
File "/usr/lib/python3/dist-packages/snapcraft/plugins/python.py", line 354, in build
installed_pipy_packages = self._run_pip(setup_file)
File "/usr/lib/python3/dist-packages/snapcraft/plugins/python.py", line 324, in _run_pip
wheels = pip.wheel(**command)
File "/usr/lib/python3/dist-packages/snapcraft/plugins/python.py", line 492, in wheel
self._exec_func(cmd, env=self._env, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/_baseplugin.py", line 202, in run
return common.run(cmd, cwd=cwd, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/internal/common.py", line 63, in run
subprocess.check_call(['/bin/sh', f.name] + cmd, **kwargs)
File "/usr/lib/python3.5/subprocess.py", line 581, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/bin/sh', '/tmp/tmpp6lm46h2', '/root/build_sqab-tuxbert/parts/sqab-tuxbert/install/usr/bin/python3', '-m', 'pip', 'wheel', '--disable-pip-version-check', '--no-index', '--find-links', '/root/build_sqab-tuxbert/parts/sqab-tuxbert/packages', '--wheel-dir', '/tmp/tmp8xlwvji9', '.', 'wxpython']' returned non-zero exit status 1
Stopping local:snapcraft-only-ready-racer
Traceback (most recent call last):
File "/usr/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.34+17.10', 'console_scripts', 'snapcraft')()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 564, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2662, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2316, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2322, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3/dist-packages/snapcraft/cli/__main__.py", line 19, in <module>
run(prog_name='snapcraft')
File "/usr/lib/python3/dist-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3/dist-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 188, in cleanbuild
lifecycle.cleanbuild(project_options, remote)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle.py", line 326, in cleanbuild
metadata=config.get_metadata(), remote=remote).execute()
File "/usr/lib/python3/dist-packages/snapcraft/internal/lxd.py", line 164, in execute
raise e
File "/usr/lib/python3/dist-packages/snapcraft/internal/lxd.py", line 158, in execute
self._container_run(command, cwd=self._project_folder)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lxd.py", line 113, in _container_run
check_call(['lxc', 'exec', self._container_name, '--'] + cmd)
File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['lxc', 'exec', 'local:snapcraft-only-ready-racer', '--', 'sh', '-c', 'cd /root/build_sqab-tuxbert; snapcraft snap --output sqab-tuxbert_0.1_amd64.snap']' returned non-zero exit status 1.
There is more, but I cannot show it all on this forum. I am guessing that I am missing a dependency, thus the complaints about certain variables remaining undefined, but I am coming from a place of ignorance. Does anybody know what is going on?