eoyilmaz / displaycal-py3

DisplayCAL Modernization Project
https://eoyilmaz.github.io/displaycal-py3/
GNU General Public License v3.0
773 stars 56 forks source link

Cannot install on openSUSE Tumbleweed #327

Open JacobOost opened 6 months ago

JacobOost commented 6 months ago

During the installation (either with make or manual) the installation fails at the installation of wxPython. So I removed all mentions of wxPython from requirements.txt and other files, and then ran "make build". Then, before "make install" I activated the venv with "source ./.venv/bin/activate", and then I followed these directions I found for installing wxPython on openSUSE: https://gist.github.com/oleksis/0746bff4db6e2fc58c3bddf3f2672887

Then I deactivate the venv and went back to the displayCAL-py3 repo directory, entered "make install" and it said that it installed correctly. When I run "make launch" I get the following errors:

> (base) jacob@DeepSpace9: ~/repos/displaycal-py3 (develop)$ make launch
> source ./.venv/bin/activate; \
> displaycal
> Acquired lock file: <DisplayCAL.main.AppLock object at 0x7f2599800090>
> displaycal 3.9.12 2024-03-13T00:06:25Z
> opensuse-tumbleweed 20240307  x86_64
> Python 3.11.5 (main, Sep 11 2023, 13:23:44) [GCC 11.2.0]
> Faulthandler 
> wxPython 4.2.2a1 gtk3 (phoenix) wxWidgets 3.2.4
> Encoding: utf-8
> File system encoding: utf-8
> listening
> writing to lock file: port: 15411
> Traceback (most recent call last):
>   File "/home/jacob/repos/displaycal-py3/DisplayCAL/main.py", line 550, in main
>     _main(module, name, app_lock_file_name)
>   File "/home/jacob/repos/displaycal-py3/DisplayCAL/main.py", line 467, in _main
>     from DisplayCAL.wxwindows import BaseApp
>   File "/home/jacob/repos/displaycal-py3/DisplayCAL/wxwindows.py", line 28, in <module>
>     from DisplayCAL import ICCProfile as ICCP
>   File "/home/jacob/repos/displaycal-py3/DisplayCAL/ICCProfile.py", line 37, in <module>
>     from DisplayCAL import colord
>   File "/home/jacob/repos/displaycal-py3/DisplayCAL/colord.py", line 23, in <module>
>     from DisplayCAL.util_dbus import DBusObject, DBusException, BUSTYPE_SYSTEM
>   File "/home/jacob/repos/displaycal-py3/DisplayCAL/util_dbus.py", line 29, in <module>
>     dbus_system = dbus.SystemBus()
>                   ^^^^^^^^^^^^^^^^
>   File "/home/jacob/repos/displaycal-py3/.venv/lib/python3.11/site-packages/dbus/_dbus.py", line 192, in __new__
>     return Bus.__new__(cls, Bus.TYPE_SYSTEM, mainloop=mainloop,
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/home/jacob/repos/displaycal-py3/.venv/lib/python3.11/site-packages/dbus/_dbus.py", line 99, in __new__
>     bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/home/jacob/repos/displaycal-py3/.venv/lib/python3.11/site-packages/dbus/bus.py", line 120, in __new__
>     bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /home/jacob/miniconda3/var/run/dbus/system_bus_socket: No such file or directory
> ┌──────────────────────────────────────────────────────────────────────────────┐
> │ Traceback (most recent call last):                                           │
> │   File "/home/jacob/repos/displaycal-py3/DisplayCAL/main.py", line 550, in   │
> │ main                                                                         │
> │     _main(module, name, app_lock_file_name)                                  │
> │   File "/home/jacob/repos/displaycal-py3/DisplayCAL/main.py", line 467, in   │
> │ _main                                                                        │
> │     from DisplayCAL.wxwindows import BaseApp                                 │
> │   File "/home/jacob/repos/displaycal-py3/DisplayCAL/wxwindows.py", line 28,  │
> │ in <module>                                                                  │
> │     from DisplayCAL import ICCProfile as ICCP                                │
> │   File "/home/jacob/repos/displaycal-py3/DisplayCAL/ICCProfile.py", line 37, │
> │ in <module>                                                                  │
> │     from DisplayCAL import colord                                            │
> │   File "/home/jacob/repos/displaycal-py3/DisplayCAL/colord.py", line 23, in  │
> │ <module>                                                                     │
> │     from DisplayCAL.util_dbus import DBusObject, DBusException,              │
> │ BUSTYPE_SYSTEM                                                               │
> │   File "/home/jacob/repos/displaycal-py3/DisplayCAL/util_dbus.py", line 29,  │
> │ in <module>                                                                  │
> │     dbus_system = dbus.SystemBus()                                           │
> │                   ^^^^^^^^^^^^^^^^                                           │
> │   File                                                                       │
> │ "/home/jacob/repos/displaycal-py3/.venv/lib/python3.11/site-packages/dbus/_dbus.py", │
> │ line 192, in __new__                                                         │
> │     return Bus.__new__(cls, Bus.TYPE_SYSTEM, mainloop=mainloop,              │
> │            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^              │
> │   File                                                                       │
> │ "/home/jacob/repos/displaycal-py3/.venv/lib/python3.11/site-packages/dbus/_dbus.py", │
> │ line 99, in __new__                                                          │
> │     bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)       │
> │           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       │
> │   File                                                                       │
> │ "/home/jacob/repos/displaycal-py3/.venv/lib/python3.11/site-packages/dbus/bus.py", │
> │ line 120, in __new__                                                         │
> │     bus = cls._new_for_bus(address_or_type, mainloop=mainloop)               │
> │           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               │
> │ dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound:      │
> │ Failed to connect to socket                                                  │
> │ /home/jacob/miniconda3/var/run/dbus/system_bus_socket: No such file or       │
> │ directory                                                                    │
> └──────────────────────────────────────────────────────────────────────────────┘
> Exiting displaycal
> Ran application exit handlers

I know nothing about dbus, I only know (a little) Qt, so I googled and found I should make sure it's running:

> (base) jacob@DeepSpace9: ~/repos/displaycal-py3 (develop)$ systemctl status dbus.service
> ● dbus.service - D-Bus System Message Bus
>      Loaded: loaded (/usr/lib/systemd/system/dbus.service; static)
>      Active: active (running) since Tue 2024-03-12 19:59:47 EDT; 55min ago
> TriggeredBy: ● dbus.socket
>        Docs: man:dbus-daemon(1)
>    Main PID: 1188 (dbus-daemon)
>       Tasks: 1 (limit: 4915)
>         CPU: 863ms
>      CGroup: /system.slice/dbus.service
>              └─1188 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activ>
> 
> Warning: some journal files were not opened due to insufficient permissions.
> lines 1-12/12 (END)

I just bought my colorimeter and badly want to profile my monitors so I can get on with my life. At this point I'm willing to try running displayCAL-py3 on a live install of whatever OS it works best on, so if nobody has any good ideas for how to finish this installation on Tumbleweed then please at least tell me what distro to use for that.

Thanks.

eoyilmaz commented 6 months ago

Hi @JacobOost did you try restarting the dbus daemon:

sudo systemctl restart dbus
guillaumedavidphd commented 6 days ago

I'm running into the same problem:

gdavid@gdavid-MS-7C59:~/Documents/Code/displaycal [displaycal] develop 5s ± make launch
source ./.venv/bin/activate; \
displaycal
Acquired lock file: <DisplayCAL.main.AppLock object at 0x7bc07599aa90>
displaycal 3.9.12 2024-09-22T17:54:34Z
ubuntu 24.04 noble x86_64
Python 3.11.10 | packaged by conda-forge | (main, Sep 22 2024, 14:10:38) [GCC 13.3.0]
Faulthandler
wxPython 4.2.2 gtk3 (phoenix) wxWidgets 3.2.6
Encoding: utf-8
File system encoding: utf-8
listening
writing to lock file: port: 15411
Traceback (most recent call last):
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/main.py", line 550, in main
    _main(module, name, app_lock_file_name)
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/main.py", line 467, in _main
    from DisplayCAL.wxwindows import BaseApp
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/wxwindows.py", line 28, in <mo
    from DisplayCAL import ICCProfile as ICCP
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/ICCProfile.py", line 37, in <m
    from DisplayCAL import colord
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/colord.py", line 23, in <modul
    from DisplayCAL.util_dbus import DBusObject, DBusException, BUSTYPE_SYSTEM
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/util_dbus.py", line 29, in <mo
    dbus_system = dbus.SystemBus()
                  ^^^^^^^^^^^^^^^^
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/dbus/_dbus.py", line 192, in __new__
    return Bus.__new__(cls, Bus.TYPE_SYSTEM, mainloop=mainloop,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/dbus/_dbus.py", line 99, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/dbus/bus.py", line 120, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /home/gdavid/.local/min
┌──────────────────────────────────────────────────────────────────────────────┐
│ Traceback (most recent call last):                                           │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/main.py", │
│ line 550, in main                                                            │
│     _main(module, name, app_lock_file_name)                                  │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/main.py", │
│ line 467, in _main                                                           │
│     from DisplayCAL.wxwindows import BaseApp                                 │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/wxwindows.py", │
│ line 28, in <module>                                                         │
│     from DisplayCAL import ICCProfile as ICCP                                │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/ICCProfile.py", │
│ line 37, in <module>                                                         │
│     from DisplayCAL import colord                                            │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/colord.py", │
│ line 23, in <module>                                                         │
│     from DisplayCAL.util_dbus import DBusObject, DBusException,              │
│ BUSTYPE_SYSTEM                                                               │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/DisplayCAL/util_dbus.py", │
│ line 29, in <module>                                                         │
│     dbus_system = dbus.SystemBus()                                           │
│                   ^^^^^^^^^^^^^^^^                                           │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/dbus/_dbus.py", │
│ line 192, in __new__                                                         │
│     return Bus.__new__(cls, Bus.TYPE_SYSTEM, mainloop=mainloop,              │
│            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^              │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/dbus/_dbus.py", │
│ line 99, in __new__                                                          │
│     bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)       │
│           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       │
│   File                                                                       │
│ "/home/gdavid/Documents/Code/displaycal/.venv/lib/python3.11/site-packages/dbus/bus.py", │
│ line 120, in __new__                                                         │
│     bus = cls._new_for_bus(address_or_type, mainloop=mainloop)               │
│           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               │
│ dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound:      │
│ Failed to connect to socket                                                  │
│ /home/gdavid/.local/miniforge3/envs/displaycal/var/run/dbus/system_bus_socket: │
│ No such file or directory                                                    │
└──────────────────────────────────────────────────────────────────────────────┘
Exiting displaycal
Ran application exit handlers

Restarting the dbus daemon kills the system. After a reboot, the problem persists.