giuspen / cherrytree

cherrytree
https://www.giuspen.net/cherrytree/
Other
3.3k stars 458 forks source link

Error: Dependency is not satisfiable: python-appindicator #401

Open fourteenminusone opened 5 years ago

fourteenminusone commented 5 years ago

Hi,

I'm trying to install Cherrytree on Parrot OS (Debian based), but I get the Error in object:

Error: Dependency is not satisfiable: python-appindicator

How can I solve? Thank you.

Riccardo

peace-for-all commented 5 years ago

Hey Riccardo, did you try to install this package? https://packages.debian.org/search?keywords=python-appindicator

Sorry if this is an obvious answer, but this is not clear from your message. Thanks, Valia

kurobeats commented 5 years ago

I'm assuming that ParrotOS is based on Debian Buster. Here's the issue:

 ~ $ sudo apt install cherrytree -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cherrytree : Depends: python-appindicator but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
 ~ $ sudo apt install python-appindicator
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-appindicator : Depends: libappindicator1 (= 0.4.92-4) but 0.4.92-7 is to be installed
E: Unable to correct problems, you have held broken packages.

Further to this, looks like cherrytree would need a bit of rework to stay in debian due to this bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822586

EllieBorden commented 5 years ago

I am unable to reproduce the bug in Ubuntu, another Debian derivative. Can you try the following steps?

  1. Go to https://www.giuspen.com/cherrytree/#downl
  2. Download "cherrytree_0.38.6-0_all.deb"
  3. Open a terminal and navigate to the directory that has your installation file.
  4. Run the command sudo dpkg -i cherrytree_0.38.6-0_all.deb
  5. Provide your password when prompted.

cherrytree would need a bit of rework to stay in debian due to this bug

Cherrytree is in the process of being ported to C++/GTKmm.

kurobeats commented 5 years ago

Output from Debian Buster install:

$ sudo dpkg -i ./cherrytree_0.38.6-0_all.deb
Selecting previously unselected package cherrytree.
(Reading database ... 183391 files and directories currently installed.)
Preparing to unpack ./cherrytree_0.38.6-0_all.deb ...
Unpacking cherrytree (0.38.6-0) ...
dpkg: dependency problems prevent configuration of cherrytree:
 cherrytree depends on python-appindicator; however:
  Package python-appindicator is not installed.
 cherrytree depends on python-enchant; however:
  Package python-enchant is not installed.
 cherrytree depends on python-gtksourceview2; however:
  Package python-gtksourceview2 is not installed.

dpkg: error processing package cherrytree (--install):
 dependency problems - leaving unconfigured
Processing triggers for mime-support (3.61) ...
Processing triggers for desktop-file-utils (0.23-4) ...
Processing triggers for gnome-menus (3.13.3-11) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for man-db (2.8.4-2+b1) ...
Processing triggers for shared-mime-info (1.10-1) ...
Errors were encountered while processing:
 cherrytree
giuspen commented 5 years ago

Try to download the latest .tar.xz, extract, open terminal inside and run ./cherrytree

kurobeats commented 5 years ago

Here's the output:

 $ ./cherrytree 
Gtk-Message: 19:01:06.977: Failed to load module "canberra-gtk-module"
Traceback (most recent call last):
  File "./cherrytree", line 78, in <module>
    f_main(args)
  File "./cherrytree", line 49, in f_main
    import main
  File "/home/kuro/Downloads/cherrytree-0.38.6/modules/main.py", line 42, in <module>
    import cons, core
  File "/home/kuro/Downloads/cherrytree-0.38.6/modules/core.py", line 24, in <module>
    import gtksourceview2
ImportError: No module named gtksourceview2
EllieBorden commented 5 years ago

Install dependencies with:

sudo apt install python-gtk2 python-gtksourceview2 p7zip-full python-dbus python-enchant python-chardet libcanberra-gtk-module

FedericoSM commented 5 years ago

In the near future, this dependency in debian will be fixed?

dpkg: dependency problems prevent configuration of cherrytree: cherrytree depends on python-appindicator; however: Package python-appindicator is not installed.

Distributor ID: Debian Description: Debian GNU/Linux testing (buster) Release: testing Codename: buster

giuspen commented 5 years ago

python-appindicator is not mandatory, I can remove as a dependency and set only as advised

kurobeats commented 5 years ago

python-appindicator certainly seems to be the war stopper here.

FedericoSM commented 5 years ago

python-appindicator is not mandatory, I can remove as a dependency and set only as advised

That would be great, thanks

FedericoSM commented 5 years ago

Just to share, after the @giuspen changed, works perfect.

sudo ./create_debian_package.sh

sudo dpkg -i cherrytree_0.38.6-0_all.deb

(Reading database ... 353561 files and directories currently installed.) Preparing to unpack cherrytree_0.38.6-0_all.deb ... Unpacking cherrytree (0.38.6-0) over (0.38.6-0) ... Setting up cherrytree (0.38.6-0) ... Processing triggers for desktop-file-utils (0.23-4) ... Processing triggers for mime-support (3.61) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Processing triggers for man-db (2.8.4-3) ... Processing triggers for shared-mime-info (1.10-1) ...

Thank you!

xAA55 commented 5 years ago

Still having dependencies issues on debian, it seems like buster does not have gtksourceview2 https://packages.debian.org/sid/python-gtksourceview2

giuspen commented 5 years ago

Cherrytree is being ported to gtkmm3. With the current version you read the cherrytree documents but not edit them. Before the end of the year the first gtkmm3 version should be ready

trentmu commented 4 years ago

On debian buster, it is possible to do a minor workaround for the cherrytree/python-gtksourceview2 dependency. Add a temporary stretch repo, install python-gtksourceview2, then remove the repo, and install cherrytree.

As root user...

cat <<EOF >> /etc/apt/sources.list

#Added this temporarily to get [cherrytree+python-gtksourceview2/python-appindicator] working
deb http://debian.saix.net/ stretch main #Added this temporarily - should be set to your closest mirror
EOF
sudo apt update
sudo apt install -y python-gtksourceview2 libgtksourceview2.0-0 libgtksourceview2.0-common
#Now remove the stretch repo's
sudo sed -i "/Added these temporarily/d" /etc/apt/sources.list
sudo sed -i "/\n\n\n/d" /etc/apt/sources.list
#and clean up a bit
sudo apt update
wget http://www.giuspen.com/software/cherrytree_0.38.8-0_all.deb;
sudo dpkg -i --ignore-depends python-gtksourceview2 cherrytree_0.38.8-0_all.deb
lobeznorx commented 4 years ago

Try sudo wget http://ftp.de.debian.org/debian/pool/main/p/pygtksourceview/python-gtksourceview2_2.10.1-3_amd64.deb

sudo dpkg -i python-gtksourceview2_2.10.1-3_amd64.deb

xAA55 commented 4 years ago

On debian buster, it is possible to do a minor workaround for the cherrytree/python-gtksourceview2 dependency. Add a temporary stretch repo, install python-gtksourceview2, then remove the repo, and install cherrytree.

As root user...

cat <<EOF >> /etc/apt/sources.list

#Added this temporarily to get [cherrytree+python-gtksourceview2/python-appindicator] working
deb http://debian.saix.net/ stretch main #Added this temporarily - should be set to your closest mirror
EOF
sudo apt update
sudo apt install -y python-gtksourceview2 libgtksourceview2.0-0 libgtksourceview2.0-common
#Now remove the stretch repo's
sudo sed -i "/Added these temporarily/d" /etc/apt/sources.list
sudo sed -i "/\n\n\n/d" /etc/apt/sources.list
#and clean up a bit
sudo apt update
wget http://www.giuspen.com/software/cherrytree_0.38.8-0_all.deb;
sudo dpkg -i --ignore-depends python-gtksourceview2 cherrytree_0.38.8-0_all.deb

thanks! that worked on Buster!

ghost commented 4 years ago

dont add stretch to buster - be it via sources.list or dpkg .deb. Dont break debian! I fumbled around (after adding deb http://ftp.de.debian.org/debian stretch main ) and stopped at:

 python-appindicator : Depends: libappindicator1 (= 0.4.92-4) but 0.4.92-7 is to be installed

while i could get the other sudo apt -s install python-gtksourceview2 installed (-s to simulate first).

The removal was done in https://tracker.debian.org/news/1091687/removed-2101-3-from-unstable/

I suggest providing a fully selfcontained appimage/snap for cross-platform out of the box binary. For inspiration kpxc has both: https://keepassxc.org/download/#linux. Snap seems to be on the way https://github.com/giuspen/cherrytree/pull/608

theAkito commented 4 years ago

I suggest providing a fully selfcontained appimage for cross-platform and less dev hassle?

Is definitely a good idea to get started with a wide platform support. 😃

ghost commented 4 years ago

its happening, snap is coming :D https://github.com/giuspen/cherrytree/pull/608#issuecomment-580374077