displaycal-py3
displaycal-py3 copied to clipboard
Appimage ?
Using pip to install DisplayCall on Tumbleweed was something of a nightmare - the number of dependencies I had to find and install (Yast was not very helpful). I wonder if openSuse don't break up packages into smaller pieces than other distros.
And this was Tumbleweed - Leap packages are several versions behind the curve (in the interests of "stability") so these dependencies might not be met. It's why I stopped using Leap - too many apps not up to date.
So it strikes me that, rather than developing a package for each flavour of linux, it could be an idea to put your energies into producing an Appimage which would work under any Linux environment.
Unfortunately packaging is not my priority for now. But, it is a very important issue for sure, and in near future we shoukd be leaning our efforts on this area.
+1 for this request.
At least for now, the build process is not possible on Fedora. wxPython
cannot be installed via pip. dnf install python3-wxpython4
does work with other applications, but not this one.
I use DisplayCAL with Fedora 36. What is your problem with pip
, is it throwing out any particular error message?
I'm using Fedora 36. gcc glibc-devel dbus pkgconf gtk3-devel libXxf86vm-devel
are installed.
Here is the output:
➜ ~ cd work
➜ work git clone https://github.com/eoyilmaz/displaycal-py3
Cloning into 'displaycal-py3'...
remote: Enumerating objects: 38246, done.
remote: Counting objects: 100% (2621/2621), done.
remote: Compressing objects: 100% (776/776), done.
remote: Total 38246 (delta 1838), reused 2490 (delta 1766), pack-reused 35625
Receiving objects: 100% (38246/38246), 56.47 MiB | 10.72 MiB/s, done.
Resolving deltas: 100% (28591/28591), done.
➜ work python -m venv ./displaycal_venv
➜ work source ./displaycal_venv/bin/activate
(displaycal_venv) ➜ work cd ./displaycal-py3/
(displaycal_venv) ➜ displaycal-py3 git:(main) pip install -r requirements.txt
Collecting build
Using cached build-0.8.0-py3-none-any.whl (17 kB)
Collecting certifi
Using cached certifi-2022.6.15-py3-none-any.whl (160 kB)
Collecting dbus-python
Using cached dbus_python-1.2.18-cp310-cp310-linux_x86_64.whl
Collecting distro
Using cached distro-1.7.0-py3-none-any.whl (20 kB)
Collecting numpy
Using cached numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.0 MB)
Collecting Pillow
Using cached Pillow-9.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (3.2 MB)
Collecting PyChromecast
Using cached PyChromecast-12.1.4-py2.py3-none-any.whl (62 kB)
Collecting Send2Trash
Using cached Send2Trash-1.8.0-py3-none-any.whl (18 kB)
Collecting wxPython>=4.1.1
Using cached wxPython-4.1.1.tar.gz (66.0 MB)
Preparing metadata (setup.py) ... done
...
Using legacy 'setup.py install' for wxPython, since package 'wheel' is not installed.
Installing collected packages: urllib3, idna, charset-normalizer, certifi, tomli, requests, pyparsing, ifaddr, async-timeout, zeroconf, six, protobuf, Pillow, pep517, packaging, numpy, casttube, wxPython, Send2Trash, PyChromecast, distro, dbus-python, build
Running setup.py install for wxPython ... error
ERROR: Command errored out with exit status 1:
command: /home/ngxson/work/displaycal_venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-b8iqv9me/install-record.txt --single-version-externally-managed --compile --install-headers /home/ngxson/work/displaycal_venv/include/site/python3.10/wxPython
cwd: /tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/
Complete output (75 lines):
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'license-file' will not be supported in future versions. Please use the underscore name 'license_file' instead
warnings.warn(
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/dist.py:300: DistDeprecationWarning: use_2to3 is ignored.
warnings.warn(f"{attr} is ignored.", DistDeprecationWarning)
running install
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
WARNING: Building this way assumes that all generated files have been
generated already. If that is not the case then use build.py directly
to generate the source and perform the build stage. You can use
--skip-build with the bdist_* or install commands to avoid this
message and the wxWidgets and Phoenix build steps in the future.
"/home/ngxson/work/displaycal_venv/bin/python" -u build.py build
/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/build.py:41: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.dep_util import newer, newer_group
Will build using: "/home/ngxson/work/displaycal_venv/bin/python"
3.10.6 (main, Aug 2 2022, 00:00:00) [GCC 12.1.1 20220507 (Red Hat 12.1.1-1)]
Python's architecture is 64bit
cfg.VERSION: 4.1.1
Running command: build
Running command: build_wx
wxWidgets build options: ['--wxpython', '--unicode', '--gtk3']
Configure options: ['--enable-unicode', '--with-gtk=3', '--enable-sound', '--enable-graphics_ctx', '--enable-display', '--enable-geometry', '--enable-debug_flag', '--enable-optimise', '--disable-debugreport', '--enable-uiactionsim', '--enable-autoidman', '--with-sdl']
/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/ext/wxWidgets/configure --enable-unicode --with-gtk=3 --enable-sound --enable-graphics_ctx --enable-display --enable-geometry --enable-debug_flag --enable-optimise --disable-debugreport --enable-uiactionsim --enable-autoidman --with-sdl
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for toolkit... gtk
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether we are using the Intel C compiler... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking whether we are using the Intel C++ compiler... no
checking whether we are using the Sun C++ compiler... no
configure: error: C++ compiler is needed to build wxWidgets
Error running configure
ERROR: failed building wxWidgets
Traceback (most recent call last):
File "/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/build.py", line 1510, in cmd_build_wx
wxbuild.main(wxDir(), build_options)
File "/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/buildtools/build_wxwidgets.py", line 372, in main
exitIfError(wxBuilder.configure(dir=wxRootDir, options=configure_opts),
File "/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/buildtools/build_wxwidgets.py", line 85, in exitIfError
raise builder.BuildError(msg)
buildtools.builder.BuildError: Error running configure
Finished command: build_wx (0.695s)
Finished command: build (0.695s)
Command '"/home/ngxson/work/displaycal_venv/bin/python" -u build.py build' failed with exit code 1.
----------------------------------------
ERROR: Command errored out with exit status 1: /home/ngxson/work/displaycal_venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ozai9vsy/wxpython_f1588b18821049aeb9cd28f7485288e7/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-b8iqv9me/install-record.txt --single-version-externally-managed --compile --install-headers /home/ngxson/work/displaycal_venv/include/site/python3.10/wxPython Check the logs for full command output.
Even with pip install wheel
and retry pip install -r requirements.txt
, I got the same error.
Bonus: sudo dnf install python3-wxpython4
confirms that Package python3-wxpython4-4.0.7-29.fc36.x86_64 is already installed.
I think it is related to this line:
Using legacy 'setup.py install' for wxPython, since package 'wheel' is not installed.
So after source ./displaycal_venv/bin/activate
if you run pip install wheel
it might solve your problem. Also we have pre-built wheel packages for wxPython at:
https://wxpython.p5k.org/wxPython-4.1.1-cp3.8-cp3.8-linux_x86_64.whl
https://wxpython.p5k.org/wxPython-4.1.1-cp3.9-cp3.9-linux_x86_64.whl
https://wxpython.p5k.org/wxPython-4.1.1-cp3.10-cp3.10-linux_x86_64.whl
That you can use.
It doesn't seem to work: (I'm using Python 3.10.6 btw)
➜ work source displaycal_venv/bin/activate
(displaycal_venv) ➜ work pip install wheel
Requirement already satisfied: wheel in ./displaycal_venv/lib/python3.10/site-packages (0.37.1)
...
(displaycal_venv) ➜ displaycal-py3 git:(main) pip install -r requirements.txt
...
Building wheel for wxPython (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/ngxson/work/displaycal_venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-i5orq0ib
cwd: /tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/
Complete output (73 lines):
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'license-file' will not be supported in future versions. Please use the underscore name 'license_file' instead
warnings.warn(
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/dist.py:300: DistDeprecationWarning: use_2to3 is ignored.
warnings.warn(f"{attr} is ignored.", DistDeprecationWarning)
running bdist_wheel
running build
WARNING: Building this way assumes that all generated files have been
generated already. If that is not the case then use build.py directly
to generate the source and perform the build stage. You can use
--skip-build with the bdist_* or install commands to avoid this
message and the wxWidgets and Phoenix build steps in the future.
"/home/ngxson/work/displaycal_venv/bin/python" -u build.py build
/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/build.py:41: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.dep_util import newer, newer_group
Will build using: "/home/ngxson/work/displaycal_venv/bin/python"
3.10.6 (main, Aug 2 2022, 00:00:00) [GCC 12.1.1 20220507 (Red Hat 12.1.1-1)]
Python's architecture is 64bit
cfg.VERSION: 4.1.1
Running command: build
Running command: build_wx
wxWidgets build options: ['--wxpython', '--unicode', '--gtk3']
Configure options: ['--enable-unicode', '--with-gtk=3', '--enable-sound', '--enable-graphics_ctx', '--enable-display', '--enable-geometry', '--enable-debug_flag', '--enable-optimise', '--disable-debugreport', '--enable-uiactionsim', '--enable-autoidman', '--with-sdl']
/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/ext/wxWidgets/configure --enable-unicode --with-gtk=3 --enable-sound --enable-graphics_ctx --enable-display --enable-geometry --enable-debug_flag --enable-optimise --disable-debugreport --enable-uiactionsim --enable-autoidman --with-sdl
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for toolkit... gtk
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether we are using the Intel C compiler... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking whether we are using the Intel C++ compiler... no
checking whether we are using the Sun C++ compiler... no
configure: error: C++ compiler is needed to build wxWidgets
Error running configure
ERROR: failed building wxWidgets
Traceback (most recent call last):
File "/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/build.py", line 1510, in cmd_build_wx
wxbuild.main(wxDir(), build_options)
File "/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/buildtools/build_wxwidgets.py", line 372, in main
exitIfError(wxBuilder.configure(dir=wxRootDir, options=configure_opts),
File "/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/buildtools/build_wxwidgets.py", line 85, in exitIfError
raise builder.BuildError(msg)
buildtools.builder.BuildError: Error running configure
Finished command: build_wx (0.693s)
Finished command: build (0.693s)
Command '"/home/ngxson/work/displaycal_venv/bin/python" -u build.py build' failed with exit code 1.
----------------------------------------
ERROR: Failed building wheel for wxPython
Running setup.py clean for wxPython
Failed to build wxPython
Installing collected packages: wxPython, Send2Trash, PyChromecast, distro, dbus-python, build
Running setup.py install for wxPython ... error
ERROR: Command errored out with exit status 1:
command: /home/ngxson/work/displaycal_venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-l73kbfdh/install-record.txt --single-version-externally-managed --compile --install-headers /home/ngxson/work/displaycal_venv/include/site/python3.10/wxPython
cwd: /tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/
Complete output (75 lines):
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'license-file' will not be supported in future versions. Please use the underscore name 'license_file' instead
warnings.warn(
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/dist.py:300: DistDeprecationWarning: use_2to3 is ignored.
warnings.warn(f"{attr} is ignored.", DistDeprecationWarning)
running install
/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
WARNING: Building this way assumes that all generated files have been
generated already. If that is not the case then use build.py directly
to generate the source and perform the build stage. You can use
--skip-build with the bdist_* or install commands to avoid this
message and the wxWidgets and Phoenix build steps in the future.
"/home/ngxson/work/displaycal_venv/bin/python" -u build.py build
/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/build.py:41: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.dep_util import newer, newer_group
Will build using: "/home/ngxson/work/displaycal_venv/bin/python"
3.10.6 (main, Aug 2 2022, 00:00:00) [GCC 12.1.1 20220507 (Red Hat 12.1.1-1)]
Python's architecture is 64bit
cfg.VERSION: 4.1.1
Running command: build
Running command: build_wx
wxWidgets build options: ['--wxpython', '--unicode', '--gtk3']
Configure options: ['--enable-unicode', '--with-gtk=3', '--enable-sound', '--enable-graphics_ctx', '--enable-display', '--enable-geometry', '--enable-debug_flag', '--enable-optimise', '--disable-debugreport', '--enable-uiactionsim', '--enable-autoidman', '--with-sdl']
/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/ext/wxWidgets/configure --enable-unicode --with-gtk=3 --enable-sound --enable-graphics_ctx --enable-display --enable-geometry --enable-debug_flag --enable-optimise --disable-debugreport --enable-uiactionsim --enable-autoidman --with-sdl
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for toolkit... gtk
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether we are using the Intel C compiler... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking whether we are using the Intel C++ compiler... no
checking whether we are using the Sun C++ compiler... no
configure: error: C++ compiler is needed to build wxWidgets
Error running configure
ERROR: failed building wxWidgets
Traceback (most recent call last):
File "/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/build.py", line 1510, in cmd_build_wx
wxbuild.main(wxDir(), build_options)
File "/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/buildtools/build_wxwidgets.py", line 372, in main
exitIfError(wxBuilder.configure(dir=wxRootDir, options=configure_opts),
File "/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/buildtools/build_wxwidgets.py", line 85, in exitIfError
raise builder.BuildError(msg)
buildtools.builder.BuildError: Error running configure
Finished command: build_wx (0.694s)
Finished command: build (0.694s)
Command '"/home/ngxson/work/displaycal_venv/bin/python" -u build.py build' failed with exit code 1.
----------------------------------------
ERROR: Command errored out with exit status 1: /home/ngxson/work/displaycal_venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kptnfhxf/wxpython_cf3d94d0fef24da1984e15e349402908/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-l73kbfdh/install-record.txt --single-version-externally-managed --compile --install-headers /home/ngxson/work/displaycal_venv/include/site/python3.10/wxPython Check the logs for full command output.
All 3 links that you provided do not exist (404 Not Found): https://wxpython.p5k.org/wxPython-4.1.1-cp3.8-cp3.8-linux_x86_64.whl https://wxpython.p5k.org/wxPython-4.1.1-cp3.9-cp3.9-linux_x86_64.whl https://wxpython.p5k.org/wxPython-4.1.1-cp3.10-cp3.10-linux_x86_64.whl
Oh sorry, my bad, it should have been:
https://wxpython.p5k.org/wxPython-4.1.1-cp38-cp38-linux_x86_64.whl https://wxpython.p5k.org/wxPython-4.1.1-cp39-cp39-linux_x86_64.whl https://wxpython.p5k.org/wxPython-4.1.1-cp310-cp310-linux_x86_64.whl
So what I tried next is:
wget https://wxpython.p5k.org/wxPython-4.1.1-cp310-cp310-linux_x86_64.whl
pip install wxPython-4.1.1-cp310-cp310-linux_x86_64.whl
pip install -r requirements.txt
python -m build
pip install dist/DisplayCAL-3.9.*.whl
It was success, but displaycal
gives me error:
(displaycal_venv) ➜ displaycal-py3 git:(main) ✗ displaycal
XDG: [Errno 2] No translation file found for domain: 'xdg-user-dirs'
Acquired lock file: <DisplayCAL.main.AppLock object at 0x7f545bda3e20>
displaycal 3.9.6 2022-08-08T11:14:07Z
fedora 36 x86_64
Python 3.10.6 (main, Aug 2 2022, 00:00:00) [GCC 12.1.1 20220507 (Red Hat 12.1.1-1)]
Faulthandler
Traceback (most recent call last):
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/main.py", line 549, in main
_main(module, name, applockfilename)
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/main.py", line 141, in _main
from DisplayCAL.wxaddons import wx
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxaddons.py", line 9, in <module>
from DisplayCAL.wxfixes import wx, GenButton, PlateButton, get_dialogs
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxfixes.py", line 27, in <module>
import wx
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/__init__.py", line 17, in <module>
from wx.core import *
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/core.py", line 12, in <module>
from ._core import *
ImportError: libjpeg.so.8: cannot open shared object file: No such file or directory
┌──────────────────────────────────────────────────────────────────────────────┐
│ Traceback (most recent call last): │
│ File │
│ "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/main.py", │
│ line 549, in main │
│ _main(module, name, applockfilename) │
│ File │
│ "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/main.py", │
│ line 141, in _main │
│ from DisplayCAL.wxaddons import wx │
│ File │
│ "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxaddons.py", │
│ line 9, in <module> │
│ from DisplayCAL.wxfixes import wx, GenButton, PlateButton, get_dialogs │
│ File │
│ "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxfixes.py", │
│ line 27, in <module> │
│ import wx │
│ File │
│ "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/__init__.py", │
│ line 17, in <module> │
│ from wx.core import * │
│ File │
│ "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/core.py", │
│ line 12, in <module> │
│ from ._core import * │
│ ImportError: libjpeg.so.8: cannot open shared object file: No such file or │
│ directory │
└──────────────────────────────────────────────────────────────────────────────┘
Traceback (most recent call last):
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/main.py", line 549, in main
_main(module, name, applockfilename)
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/main.py", line 141, in _main
from DisplayCAL.wxaddons import wx
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxaddons.py", line 9, in <module>
from DisplayCAL.wxfixes import wx, GenButton, PlateButton, get_dialogs
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxfixes.py", line 27, in <module>
import wx
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/__init__.py", line 17, in <module>
from wx.core import *
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/core.py", line 12, in <module>
from ._core import *
ImportError: libjpeg.so.8: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/debughelpers.py", line 77, in handle_error
from DisplayCAL.wxaddons import wx
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxaddons.py", line 9, in <module>
from DisplayCAL.wxfixes import wx, GenButton, PlateButton, get_dialogs
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/DisplayCAL/wxfixes.py", line 27, in <module>
import wx
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/__init__.py", line 12, in <module>
__version__ = wx.__version__.VERSION_STRING
AttributeError: partially initialized module 'wx' has no attribute '__version__' (most likely due to a circular import)
Warning: handle_error(): partially initialized module 'wx' has no attribute '__version__' (most likely due to a circular import)
Exiting displaycal
You probably have a different version of libjpeg.so
installed, check the /usr/lib64
directory for libjpeg.so
and if the libjpeg.so.8
is missing but you have libjpeg.so
create a symlink to libjpeg.so
with that name (sudo ln -s libjpeg.so libjpeg.so.8
). It would probably work without a problem, if this was the problem in the first place. Otherwise check if you have `libjpeg.so`` installed in your system and install if not.
I created a symlink from libjpeg.so.8
to libjpeg.so
, libjpeg.so.62
and libjpeg.so.62.3.0
but it doesn't seem to work.
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/__init__.py", line 17, in <module>
from wx.core import *
File "/home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/core.py", line 12, in <module>
from ._core import *
ImportError: /lib64/libjpeg.so.8: version `LIBJPEG_8.0' not found (required by /home/ngxson/work/displaycal_venv/lib64/python3.10/site-packages/wx/libwx_gtk3u_core-3.1.so.5)
Really sorry but at this point, I'm thinking about giving up and wait for the AppImage version...
Bonus:
➜ ~ ls /usr/lib64 | grep libjpeg
libjpeg.so
libjpeg.so.62
libjpeg.so.62.3.0
libjpeg.so.8 <= The symlink created by me
Sorry I overlooked your initial problem. It seems that you don't have the required compiler suit. Did you run the following before trying to install DisplayCAL:
sudo dnf install gcc glibc-devel dbus pkgconf gtk3-devel libXxf86vm-devel
I'm using Fedora 36.
gcc glibc-devel dbus pkgconf gtk3-devel libXxf86vm-devel
are installed.
Yes, I wrote that in the beginning of this discussion.
For confirmation, I've just re-run it:
sudo -i
Place your right index finger on the fingerprint reader
[root@ngxson]~# dnf install gcc glibc-devel dbus pkgconf gtk3-devel libXxf86vm-devel
FirefoxPWA 214 B/s | 833 B 00:03
Package gcc-12.1.1-1.fc36.x86_64 is already installed.
Package glibc-devel-2.35-15.fc36.x86_64 is already installed.
Package dbus-1:1.14.0-1.fc36.x86_64 is already installed.
Package pkgconf-1.8.0-2.fc36.x86_64 is already installed.
Package gtk3-devel-3.24.34-1.fc36.x86_64 is already installed.
Package libXxf86vm-devel-1.1.4-18.fc36.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@ngxson]~#
Oh sorry I misinterpreted the log messages. I'll come back to this issue, after I login to my Fedora 36 workstation this evening.
I managed to install libjpeg8 and it works now:
sudo dnf copr enable aflyhorse/libjpeg
sudo dnf install libjpeg8
Thanks for the support.
Aah superb. I was started to think that gcc-12
was the problem. I was looking if wxPython was building okay with gcc-12
. Anyways, I'm happy to hear that you solved your problem.
I read that packaging isn't your top priority. Instead of an AppImage, I propose to package it as a Flatpak, maybe using this recipe as a template (original DisplayCal).