egara / buttermanager

ButterManager is a BTRFS tool for managing snapshots, balancing filesystems and upgrading the system safetly.
GNU General Public License v3.0
129 stars 6 forks source link

Cant open on Fedora 39 #55

Closed JustAdreamerFL closed 4 weeks ago

JustAdreamerFL commented 5 months ago

I just cant open it. I have every dependency that is needed for native and not native install. When i install it and open it with the app menu it doesnt show any window and just terminates itself.

Is there some way to make it work? Why is it not working in the firstplace? What info can I provide?

egara commented 5 months ago

Hi!

Have you used the installation scripts provided in the repo? What dependencies have you installed on your system (I mean the name of the packages installed)?

In addition, open a terminal, type buttermanager and run it from there. Paste the output here please.

Thanks!

Cygn commented 5 months ago

Hello, there is probably something broken in fedora package. I've just tried 2.4.2 on f38 (buttermanager-2.4.2-6.fc38.noarch ), and it crashes on start:

~  buttermanager                                                                                                                             13.00 Dur  ✓  1052  13:36:55 
QSocketNotifier: Can only be used with threads started with QThread
Traceback (most recent call last):
  File "/usr/bin/buttermanager", line 33, in <module>
    sys.exit(load_entry_point('buttermanager==2.4.2', 'console_scripts', 'buttermanager')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/buttermanager/bm_main.py", line 17, in main
    PasswordWindow(None)
  File "/usr/lib/python3.11/site-packages/buttermanager/buttermanager/buttermanager.py", line 60, in __init__
    self.__buttermanager_configurator.configure()
  File "/usr/lib/python3.11/site-packages/buttermanager/buttermanager/util/utils.py", line 140, in configure
    self.migrate_properties()
  File "/usr/lib/python3.11/site-packages/buttermanager/buttermanager/util/utils.py", line 184, in migrate_properties
    snapshots_to_keep = int(settings.properties_manager.get_property('snapshots_to_keep'))
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ''
Cygn commented 5 months ago

not fixed on 2.5.1, native build:

master 2.5.1 > buttermanager                                                               
QSocketNotifier: Can only be used with threads started with QThread
Traceback (most recent call last):
  File "/usr/local/bin/buttermanager", line 33, in <module>
    sys.exit(load_entry_point('buttermanager==2.5.1', 'console_scripts', 'buttermanager')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/buttermanager-2.5.1-py3.11.egg/buttermanager/bm_main.py", line 17, in main
    PasswordWindow(None)
  File "/usr/local/lib/python3.11/site-packages/buttermanager-2.5.1-py3.11.egg/buttermanager/buttermanager/buttermanager.py", line 62, in __init__
    self.__buttermanager_configurator.configure()
  File "/usr/local/lib/python3.11/site-packages/buttermanager-2.5.1-py3.11.egg/buttermanager/buttermanager/util/utils.py", line 150, in configure
    self.migrate_properties()
  File "/usr/local/lib/python3.11/site-packages/buttermanager-2.5.1-py3.11.egg/buttermanager/buttermanager/util/utils.py", line 200, in migrate_properties
    snapshots_to_keep = int(settings.properties_manager.get_property('snapshots_to_keep'))
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ''
egara commented 5 months ago

Hi @Cygn and thanks for the feedback. I'll take a look again and tell you something.

egara commented 5 months ago

Hi again!

I have installed a fresh Fedora Workstation 39 in a virtual machine and cloned buttermanager repository.

Then, I installed all the dependencies needed:

 sudo dnf install python3-setuptools python3-tkinter
 sudo dnf copr enable kylegospo/grub-btrfs
 sudo dnf install grub-btrfs

Finally, I executed the native installation script

cd install
./native_install.sh

After that, trying to run buttermanager I obtain this error (which is different from yours), but still, an error and ButterManager doesn't start normally:

egarcia@fedora-39-Workstation:~/Development/git/buttermanager/install$ buttermanager
Traceback (most recent call last):
  File "/usr/local/bin/buttermanager", line 33, in <module>
    sys.exit(load_entry_point('buttermanager==2.5.1', 'console_scripts', 'buttermanager')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/buttermanager", line 25, in importlib_load_entry_point
    return next(matches).load()
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/importlib/metadata/__init__.py", line 205, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/local/lib/python3.12/site-packages/buttermanager-2.5.1-py3.12.egg/buttermanager/bm_main.py", line 1, in <module>
    from .buttermanager.buttermanager import PasswordWindow
  File "/usr/local/lib/python3.12/site-packages/buttermanager-2.5.1-py3.12.egg/buttermanager/buttermanager/buttermanager.py", line 20, in <module>
    from .filesystem import filesystem, snapshot
  File "/usr/local/lib/python3.12/site-packages/buttermanager-2.5.1-py3.12.egg/buttermanager/buttermanager/filesystem/filesystem.py", line 24, in <module>
    from ..window import windows
  File "/usr/local/lib/python3.12/site-packages/buttermanager-2.5.1-py3.12.egg/buttermanager/buttermanager/window/windows.py", line 23, in <module>
    from ..filesystem import snapshot
  File "/usr/local/lib/python3.12/site-packages/buttermanager-2.5.1-py3.12.egg/buttermanager/buttermanager/filesystem/snapshot.py", line 24, in <module>
    from ..util import settings, utils
  File "/usr/local/lib/python3.12/site-packages/buttermanager-2.5.1-py3.12.egg/buttermanager/buttermanager/util/settings.py", line 22, in <module>
    from . import utils
  File "/usr/local/lib/python3.12/site-packages/buttermanager-2.5.1-py3.12.egg/buttermanager/buttermanager/util/utils.py", line 26, in <module>
    from PyQt5.QtWidgets import QFileDialog
ImportError: /usr/local/lib/python3.12/site-packages/PyQt5-5.15.10-py3.12-linux-x86_64.egg/PyQt5/QtWidgets.abi3.so: undefined symbol: _ZdlPvm, version Qt_5

I don't know what it means, but I'll investigate on it.

Neverthless, if you want to use ButterManager, you can install it using the venv_install script:

Install additional packages needed:

sudo dnf install python3-virtualenv

Then execute the installation script ./venv_install:

egarcia@fedora-39-Workstation:~/Development/git/buttermanager/install$ ./venv_install.sh 
You are about to install ButterManager in a virtual environment.
These packages MUST be installed before executing this script: 'python-setuptools', 'python-virtualenv' and 'tkinter'. The name of these packages can be different depending on the distro you are using. Example: On Arch -> 'python-setuptools', 'python-virtualenv' and 'tk'. On Fedora 'python3-setuptools', 'python3-virtualenv' and 'python3-tkinter'. In addition, if you are on Ubuntu or derivative, 'libxcb-xinerama0' needs to be installed too.
Do you want to proceed with the installation? [y/n]
y
Removing old installation...
Creating installation directory in /opt/buttermanager
Copying all the files needed into /opt/buttermanager
Creating desktop launcher...
Directory ~/.local/share/applications/ doesn't exist. Creating it to store ButterManager desktop launcher.
mkdir: cannot create directory ‘/home/egarcia/.local/share/applications/’: File exists
Creating virtual environment...
Enabling virtual environment...
Installing all the required modules into the virtual environment. Please wait...
Requirement already satisfied: pip in ./env/lib64/python3.12/site-packages (23.2.1)
Collecting pip
  Obtaining dependency information for pip from https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl.metadata
  Downloading pip-24.0-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.0-py3-none-any.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 35.5 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.2.1
    Uninstalling pip-23.2.1:
      Successfully uninstalled pip-23.2.1
Successfully installed pip-24.0
Collecting PyQt5>=5.10.1 (from -r requirements.txt (line 1))
  Downloading PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl.metadata (2.1 kB)
Collecting PyQt5-sip>=12.7.0 (from -r requirements.txt (line 2))
  Downloading PyQt5_sip-12.13.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (504 bytes)
Collecting PyYAML>=4.2b1 (from -r requirements.txt (line 3))
  Downloading PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting sip>=4.19.8 (from -r requirements.txt (line 4))
  Downloading sip-6.8.3-py3-none-any.whl.metadata (3.2 kB)
Collecting PyQt5-Qt5>=5.15.2 (from PyQt5>=5.10.1->-r requirements.txt (line 1))
  Downloading PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl.metadata (535 bytes)
Collecting packaging (from sip>=4.19.8->-r requirements.txt (line 4))
  Downloading packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
Collecting setuptools (from sip>=4.19.8->-r requirements.txt (line 4))
  Downloading setuptools-69.2.0-py3-none-any.whl.metadata (6.3 kB)
Downloading PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl (8.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.2/8.2 MB 69.5 MB/s eta 0:00:00
Downloading PyQt5_sip-12.13.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl (360 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 361.0/361.0 kB 22.2 MB/s eta 0:00:00
Downloading PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 725.0/725.0 kB 42.2 MB/s eta 0:00:00
Downloading sip-6.8.3-py3-none-any.whl (573 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 573.7/573.7 kB 27.7 MB/s eta 0:00:00
Downloading PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (59.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.9/59.9 MB 46.7 MB/s eta 0:00:00
Downloading packaging-24.0-py3-none-any.whl (53 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 kB 3.1 MB/s eta 0:00:00
Downloading setuptools-69.2.0-py3-none-any.whl (821 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 821.5/821.5 kB 34.3 MB/s eta 0:00:00
Installing collected packages: PyQt5-Qt5, setuptools, PyYAML, PyQt5-sip, packaging, sip, PyQt5
Successfully installed PyQt5-5.15.10 PyQt5-Qt5-5.15.2 PyQt5-sip-12.13.0 PyYAML-6.0.1 packaging-24.0 setuptools-69.2.0 sip-6.8.3

@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@+
    @@@@@@@@@@@@&&%%#########%%%%%#########%%&&@@@@@@@+
    @@@@@@@&&&#((%&&#(/*****************/(%&&%((%&&@@@+
    @@@@@@&%(#%#/*****************************/#%##%&@+
    @@@@@&#(&(*****************/%%%%/************#%(%&+
    @@@@&&##&/***************#%#****%%***********(&(%&+
    @@@@@&&#(#%%%%%*******/%%/******#&******%%%%%#(%&&+
    @@@@@@@&&&%%(#&*****(%(*******(%#*******&#(%%&&&@@+
    @@@@@@@@@@&&(#&**/%%*,.****/%%/*********&##&&@@@@@+
    @@@@@@@@@@&&((/(%#**.,.**(%%************&##&&@@@@@+
    @@@@@@@@@@&&#%%(****.,,#%/**************&##&&@@@@@+
    @@@@@@@@@@&&%/*******%%*****************&##&&@@@@@+
    @@@@@@@&&%#(#%%(*/#%(*******************&##&&@@@@@+
    @@@@@&%%((((#%&%%%**********************&##&&@@@@@+
    @@&&%#(((#%&##&**********************%#*&##&&@@@@@+
    &%%((((#&&&&(#&*******************//*%#*&##&&@@@@@+
    %#((#%&@@@&&(#&*******************#%*%#*&##&&@@@@@+
    @&%%%@@@@@&&(#&///////////////////#%/%#/&##&&@@@@@+
    @@@@@@@@@@&&###############################&&@@@@@

The installation has finished. Please, review the logs in order to see if everything was OK

You should find a new icon and desktop launcher called ButterManager. You are good to go.

After this, you should find a new icon and desktop launcher called ButterManager and it should run without problems. At least on my fresh Fedora 39 Workstation is working.

If you have any idea or hint about what the problem could be installing ButterManager natively, please let me know, but I suspect it could be related to the packages or their version in Fedora, but I'm not 100% sure.

egara commented 5 months ago

By the way, if you have installed ButterManager previously, before re-installing it, please remove ~/.buttermanager directory in order to let ButterManager generate all its configuration again and avoid problems related with different versions of the application.

Cygn commented 5 months ago

I confirm that it works on f38 (venv_install + scrap old config dir). Thx !