omemo / gajim-omemo

Gajim plugin for OMEMO Multi-End Message and Object Encryption
87 stars 7 forks source link

Error when loading python-axolotl: ImportError: No module named symbol_database #48

Closed kolAflash closed 8 years ago

kolAflash commented 8 years ago

Hi,

although I got python-axolotl installed, Gajim is giving me the message: gajim.plugin_system.omemo Please install python-axolotl.

So I went to ~/.local/share/gajim/plugins/omemo/__init__.py and changed line 44 and following to this (gajim-omemo version 0.4):

except ImportError, err:
    import traceback
    print(traceback.format_exc())
    log.error(AXOLOTL_MISSING)
    HAS_AXOLOTL = False

Please consider to do something like this in general, instead of just printing a fixed error message like AXOLOTL_MISSING. Because now it looks like the Please install python-axolotl. just wasn't the appropriate error message (but I tried to reinstall python-axolotl and PYTHONPATH for over an hour).

python-axolotl version: 0.1.7 gajim version: 0.16.5 gajim-omemo version: 0.4

So here comes the stack trace, which gives me the ImportError: No module named symbol_database error:

Traceback (most recent call last):
  File "/home/user/.local/share/gajim/plugins/omemo/__init__.py", line 42, in <module>
    from omemo.state import OmemoState
  File "/home/user/opt/gajim/share/gajim/src/common/demandimport.py", line 114, in _demandimport
    mod = _origimport(name, globals, locals)
  File "/home/user/.local/share/gajim/plugins/omemo/omemo/state.py", line 29, in <module>
    from axolotl.protocol.prekeywhispermessage import PreKeyWhisperMessage
  File "/home/user/opt/gajim/share/gajim/src/common/demandimport.py", line 114, in _demandimport
    mod = _origimport(name, globals, locals)
  File "/home/user/opt/gajim/lib/python2.7/site-packages/python_axolotl-0.1.7-py2.7.egg/axolotl/protocol/prekeywhispermessage.py", line 5, in <module>
    from .whispermessage import WhisperMessage
  File "/home/user/opt/gajim/share/gajim/src/common/demandimport.py", line 112, in _demandimport
    return _origimport(name, globals, locals, fromlist, level)
  File "/home/user/opt/gajim/lib/python2.7/site-packages/python_axolotl-0.1.7-py2.7.egg/axolotl/protocol/whispermessage.py", line 4, in <module>
    from . import whisperprotos
  File "/home/user/opt/gajim/share/gajim/src/common/demandimport.py", line 112, in _demandimport
    return _origimport(name, globals, locals, fromlist, level)
  File "/home/user/opt/gajim/lib/python2.7/site-packages/python_axolotl-0.1.7-py2.7.egg/axolotl/protocol/whisperprotos.py", line 13, in <module>
    _sym_db = _symbol_database.Default()
  File "/home/user/opt/gajim/share/gajim/src/common/demandimport.py", line 86, in __getattribute__
    self._load()
  File "/home/user/opt/gajim/share/gajim/src/common/demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
ImportError: No module named symbol_database```
bugspencor commented 8 years ago

I had a similar problem. In the end I could solve it by installing protobuf 2.6.1 from pip (3.0.0a from pip and the older 2.5.0 from Ubuntu Trusty threw python errors.)

kolAflash commented 8 years ago

Thank you bugspencor! That helped me a lot.

I got two versions of protobuf installed.

protobuf 2.5.0 at /usr/lib/python2.7/site-packages/

And protobuf 2.6.1 at /home/user/opt/gajim/lib/python2.7/site-packages/.

I use PYTHONPATH=/home/user/opt/gajim/lib/python2.7/site-packages to get modules from that directory. Sadly Python always prefers modules from /usr/lib/python2.7/site-packages/ and I need the protobuf 2.5.0 package in that location for other software.

Is there any way to force Python to use packages from PYTHONPATH if possible?

bugspencor commented 8 years ago

Python uses always PYTHONPATH to locate the modules, from left to right. Python magically adds some paths to sys.path, even if PYTHONPATH is empty (like on my Ubuntu). You can check the sys.path by entering in python:

For me it's:

>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0']
kolAflash commented 8 years ago

Thanks. I also realized how PYTHONPATH works. But it seems like Python is always using packages from PYTHONHOME before any package from PYTHONPATH.

Changing PYTHONHOME to anything else than /usr (where Python is installed) makes Python miss essential packages.

To only option seems to be, to install a complete separate Python instance somewhere else. At least unless anyone knows a way to force Python to prefer packages from PYTHONPATH over packages from PYTHONHOME.

kalkin commented 8 years ago

@kolAflash So is your issue solved? I close this bug, if you still have issues, please comment and i will reopen.

Thank you @bugspencor for handling this

kolAflash commented 8 years ago

For me it's kind of solved.

But in general you should consider giving a better error message. Everyone who runs into this will have a hard time to figure out what's happening, because the error message is quite misleading. (see my first comment)

asterismo commented 8 years ago

So, what are the steps to fix this? i cannot use OMEMO when installing latest Gajim and python-axolotl deps. Is this fixed now?

lovetox commented 8 years ago

check your protobuf version it should be

protobuf==3.0.0b2

asterismo commented 8 years ago

Downloading/unpacking protobuf==2.6.1 Downloading protobuf-2.6.1.tar.gz (188kB): 188kB downloaded Running setup.py (path:/tmp/pip-build-jQ5Xtx/protobuf/setup.py) egg_info for package protobuf

Installed /tmp/pip-build-jQ5Xtx/protobuf/google_apputils-0.4.2-py2.7.egg
Searching for python-gflags>=1.4
Reading https://pypi.python.org/simple/python-gflags/
Best match: python-gflags 3.0.4
Downloading https://pypi.python.org/packages/5b/84/d2c7b7d3b093e52410ffe99ec01d40b45be7e5e94be801bb2b9f76de87cb/python-gflags-3.0.4.tar.gz#md5=821b85b178fc2abaefcba7852bea8c9c
Processing python-gflags-3.0.4.tar.gz
Writing /tmp/easy_install-PxWCKP/python-gflags-3.0.4/setup.cfg
Running python-gflags-3.0.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-PxWCKP/python-gflags-3.0.4/egg-dist-tmp-aVoOOp
zip_safe flag not set; analyzing archive contents...

Installed /tmp/pip-build-jQ5Xtx/protobuf/python_gflags-3.0.4-py2.7.egg

Downloading/unpacking python-axolotl==0.1.35 Downloading python-axolotl-0.1.35.tar.gz Running setup.py (path:/tmp/pip-build-jQ5Xtx/python-axolotl/setup.py) egg_info for package python-axolotl

Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/dist-packages (from protobuf==2.6.1) Requirement already satisfied (use --upgrade to upgrade): pycrypto in /usr/lib/python2.7/dist-packages (from python-axolotl==0.1.35) Requirement already satisfied (use --upgrade to upgrade): python-axolotl-curve25519 in /usr/local/lib/python2.7/dist-packages (from python-axolotl==0.1.35) Installing collected packages: protobuf, python-axolotl Found existing installation: protobuf 3.0.0b2.post2 Uninstalling protobuf: Successfully uninstalled protobuf Running setup.py install for protobuf Skipping installation of /usr/local/lib/python2.7/dist-packages/google/init.py (namespace package)

Installing /usr/local/lib/python2.7/dist-packages/protobuf-2.6.1-nspkg.pth

Found existing installation: python-axolotl 0.1.34 Uninstalling python-axolotl: Successfully uninstalled python-axolotl Running setup.py install for python-axolotl

Successfully installed protobuf python-axolotl
Cleaning up...

Still doesn't work

GrimKriegor commented 8 years ago

Got the same problem on Arch and Parabola, solved it by installing protobuf 2.6.1 from pip, thank you gentlemen!

rom1dep commented 8 years ago

Got hit by this same problem, fixed by downgrading my protobuf version. If protobuf 3 is just around the corner shouldn't that deserve a proper fix (i.e. fiddling around the import code in order to make it work against both 2.6 and 3.0?) Or maybe at your level this should be part of gajim import logic and not extension's?

ivogrig commented 8 years ago

I am on Arch linux, this happened right after installing the OMEMO plugin in the preferences. Not sure what I am doing wrong, I tried installing protobuf 2.6.1 and 3.0.02b as suggested and also python-axolotl.

> 29/08/16 17:52:42 (E) gajim.plugin_system.omemo No module named axolotl.ecc.djbec
> Traceback (most recent call last):
>   File "gajim.py", line 533, in <module>
>     interface.run()
>   File "/usr/lib/python2.7/site-packages/gajim/gui_interface.py", line 2733, in run
>     gajim.plugin_manager = plugins.PluginManager()
>   File "/usr/lib/python2.7/site-packages/gajim/plugins/helpers.py", line 129, in __call__
>     cls.instance=super(Singleton, cls).__call__(*args,**kw)
>   File "/usr/lib/python2.7/site-packages/gajim/plugins/pluginmanager.py", line 104, in __init__
>     pc = PluginManager.scan_dir_for_plugins(path)
>   File "/usr/lib/python2.7/site-packages/gajim/plugins/helpers.py", line 114, in wrapper
>     result = f(*args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/gajim/plugins/pluginmanager.py", line 476, in scan_dir_for_plugins
>     if not issubclass(module_attr, GajimPlugin) or \
>   File "/usr/lib/python2.7/site-packages/gajim/common/demandimport.py", line 86, in __getattribute__
>     self._load()
>   File "/usr/lib/python2.7/site-packages/gajim/common/demandimport.py", line 58, in _load
>     mod = _origimport(head, globals, locals)
> ImportError: No module named axolotl
> .config/gajim $ less /usr/lib/python2.7/site-packages/gajim/common/demandimport.py
> 
lovetox commented 8 years ago

on arch the easiest way would be to install it from AUR https://aur.archlinux.org/packages/gajim-plugin-omemo/

did you try this?

lu-x commented 8 years ago

I tried installing it from the arch-repos as well as from AUR. Both ways don't work. I get: Warning: Error: No module named _message

cippaciong commented 8 years ago

@kas70 I'm not sure of which package you are talking about since gajim-plugin-omemo is only available in AUR and not in the official repositories. Anyway, I think the problem with that error is that you are missing the package python2-setuptools

lu-x commented 8 years ago

@cippaciong Yes, you're right. The first way i tried was via gajim plugin manager not the arch-repositories of course. The module python2-setuptools is installed. So this shouldn't be the problem.

lovetox commented 8 years ago

then try downgrading protobuf, with pip install protobuf==2.6.1

there is sadly a bug in the package when you have protobuf 2.6.1 installed and python lib upgrades it to 3.0.0

the package is not found afterwards.

a downgrade should solve this, or a complete uninstall of the package and reinstall.

also maybe you could show the full traceback

ivogrig commented 8 years ago

@lovetox No I had not tried installing from AUR actually, rather went with the "wizard" in the GUI. I uninstalled my previously installed version of protobuf with pip and then installed from the AUR:

It was my first time using cower, not sure if this is the easiest way but this is what I did: cd /tmp cower -d -d gajim-plugin-omemo

It said some dependencies exist in extra/community repositories, so I installed those with pacman sudo pacman -S python2-dateutil python2-crypto

Then I went into each dir of the downloaded dependencies remaining and in each typed makepkg -sri

ghost commented 8 years ago

Following bugspencor I tried:

# python -m pip install "protobuf>=2.6.1"
Requirement already satisfied (use --upgrade to upgrade): protobuf>=2.6.1 in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/dist-packages (from protobuf>=2.6.1)
Cleaning up...

Did I miss something (running Debian8)?

lovetox commented 8 years ago

yeah its protobuf==2.6.1 not ">="

also if you have access in debian testing there is the plugin with all dependencys as package "gajim-omemo"

ghost commented 8 years ago

Thx lovetox, but:

# python -m pip install "protobuf==2.6.1"
Requirement already satisfied (use --upgrade to upgrade): protobuf==2.6.1 in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/dist-packages (from protobuf==2.6.1)
Cleaning up...

Any other ideas?

lovetox commented 8 years ago

you never said whats your problem:

you get the same error as in the topic?

ghost commented 8 years ago

@lovetox shure otherwise I would open a new topic. :) I got the error installing Gajim under Debian8 and installing the OMEMO plugin. Looking for the error code I found this topic.

lovetox commented 8 years ago

from where did you install gajim? make sure you have gajim 0.16.6

ghost commented 8 years ago

@lovetox thx for your help.

# apt-cache policy gajim
gajim:
  Installed: 0.16-1+deb8u1
  Candidate: 0.16-1+deb8u1
  Version table:
     0.16.6-1 0
         50 http://ftp.de.debian.org/debian/ unstable/main amd64 Packages
     0.16.5-2 0
        750 http://ftp.de.debian.org/debian/ testing/main amd64 Packages
 *** 0.16-1+deb8u1 0
        995 http://ftp.de.debian.org/debian/ jessie/main amd64 Packages
       1000 http://security.debian.org/ jessie/updates/main amd64 Packages
       1000 http://security.debian.org/ stable/updates/main amd64 Packages
        995 http://ftp.de.debian.org/debian/ stable/main amd64 Packages
        100 /var/lib/dpkg/status

So I need to install from unstable? eek

lovetox commented 8 years ago

yes, and you could also install the gajim-omemo package from there

lovetox commented 8 years ago

0.16.5 should also work

also in the next version of the plugin we check for the gajim version its just endless for how many things i have to check on linux :/

and that protobuf bug or whatever it is, that we cant import version 3.0 if it wasnt correctly installed fucks me over for a long time

ghost commented 8 years ago

@lovetox hm...

# apt-get -t testing install gajim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  python-avahi kwalletcli python-kerberos dvipng python-farstream gstreamer0.10-plugins-ugly nautilus-sendto python-gupnp-igd
The following NEW packages will be installed:
  gajim
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/3,025 kB of archives.
After this operation, 13.5 MB of additional disk space will be used.
Selecting previously unselected package gajim.
(Reading database ... 198340 files and directories currently installed.)
Preparing to unpack .../gajim_0.16-1+deb8u1_all.deb ...
Unpacking gajim (0.16-1+deb8u1) ...
Processing triggers for desktop-file-utils (0.22-1) ...
Processing triggers for mime-support (3.58) ...
Processing triggers for menu (2.1.47) ...
Processing triggers for man-db (2.7.0.2-5) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Setting up gajim (0.16-1+deb8u1) ...
Processing triggers for menu (2.1.47) ...
#

...gajim is not even starting now. Do I have to install the suggested packages?

lovetox commented 8 years ago

Setting up gajim (0.16-1+deb8u1) ...

in this query there is not once gajim 0.16.5 or 6

i would just install gajim 16.6 and gajim-omemo from unstable

ghost commented 8 years ago

@lovetox Sorry, my fault using wrong command...

# apt-get install gajim/testing
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '0.16.5-2' (Debian:testing [all]) for 'gajim'
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:
 gajim : Depends: python-nbxmpp (>= 0.5.3) but 0.5.1-2 is to be installed
E: Unable to correct problems, you have held broken packages.

So I had to:

# apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  python-crypto python-nbxmpp
0 upgraded, 0 newly installed, 2 to remove and 1 not upgraded.
After this operation, 1,816 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 198339 files and directories currently installed.)
Removing python-crypto (2.6.1-5+b2) ...
Removing python-nbxmpp (0.5.1-2) ...

Followed by:

# apt-get install python-nbxmpp/testing
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '0.5.3-1' (Debian:testing [all]) for 'python-nbxmpp'
The following NEW packages will be installed:
  python-nbxmpp
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 69.7 kB of archives.
After this operation, 374 kB of additional disk space will be used.
Get:1 http://ftp.de.debian.org/debian/ testing/main python-nbxmpp all 0.5.3-1 [69.7 kB]
Fetched 69.7 kB in 0s (406 kB/s)       
Selecting previously unselected package python-nbxmpp.
(Reading database ... 198147 files and directories currently installed.)
Preparing to unpack .../python-nbxmpp_0.5.3-1_all.deb ...
Unpacking python-nbxmpp (0.5.3-1) ...
Setting up python-nbxmpp (0.5.3-1) ...

And

# apt-get install gajim/testing
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '0.16.5-2' (Debian:testing [all]) for 'gajim'
The following extra packages will be installed:
  python-crypto
Suggested packages:
  dvipng gstreamer0.10-plugins-ugly kwalletcli nautilus-sendto python-avahi python-gupnp-igd python-kerberos python-crypto-dbg
  python-crypto-doc
The following NEW packages will be installed:
  gajim python-crypto
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 3,031 kB/3,287 kB of archives.
After this operation, 14.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ftp.de.debian.org/debian/ testing/main gajim all 0.16.5-2 [3,031 kB]
Fetched 3,031 kB in 12s (249 kB/s)                                                                                                       
Selecting previously unselected package gajim.
(Reading database ... 198171 files and directories currently installed.)
Preparing to unpack .../gajim_0.16.5-2_all.deb ...
Unpacking gajim (0.16.5-2) ...
Selecting previously unselected package python-crypto.
Preparing to unpack .../python-crypto_2.6.1-5+b2_amd64.deb ...
Unpacking python-crypto (2.6.1-5+b2) ...
Processing triggers for desktop-file-utils (0.22-1) ...
Processing triggers for mime-support (3.58) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up gajim (0.16.5-2) ...
Setting up python-crypto (2.6.1-5+b2) ...

But Gajim is still not starting (I just can see a popup of the Gajim window for a second). Did I miss something again?

lovetox commented 8 years ago

no, please start gajim from terminal and post the error message

ghost commented 8 years ago

@lovetox Thx, here it is:

$ gajim
10/14/2016 23:32:28 (E) gajim.plugin_system.omemo No module named axolotl.ecc.djbec
/usr/lib/python2.7/pkgutil.py:186: ImportWarning: Not importing directory '/usr/local/lib/python2.7/dist-packages/google': missing __init__.py
  file, filename, etc = imp.find_module(subname, path)
Traceback (most recent call last):
  File "gajim.py", line 533, in <module>
    interface.run()
  File "/usr/share/gajim/src/gui_interface.py", line 2733, in run
    gajim.plugin_manager = plugins.PluginManager()
  File "/usr/share/gajim/src/plugins/helpers.py", line 129, in __call__
    cls.instance=super(Singleton, cls).__call__(*args,**kw)
  File "/usr/share/gajim/src/plugins/pluginmanager.py", line 104, in __init__
    pc = PluginManager.scan_dir_for_plugins(path)
  File "/usr/share/gajim/src/plugins/helpers.py", line 114, in wrapper
    result = f(*args, **kwargs)
  File "/usr/share/gajim/src/plugins/pluginmanager.py", line 476, in scan_dir_for_plugins
    if not issubclass(module_attr, GajimPlugin) or \
  File "/usr/share/gajim/src/common/demandimport.py", line 86, in __getattribute__
    self._load()
  File "/usr/share/gajim/src/common/demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
ImportError: No module named axolotl
lovetox commented 8 years ago

so did you install python-axolotl?

lovetox commented 8 years ago

you could also delete from .local/share/gajim/plugins omemo, so then gajim should start

and install gajim-omemo with all deps from debian unstable

ghost commented 8 years ago

@lovetox thx, /local/share/gajim/plugins was empty because I've purged gajim before reinstalling from testing. I didn't install axolotl, tried now starting with omemo:

# apt-get install gajim-omemo/unstable
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '0.9-1' (Debian:testing [all]) for 'gajim-omemo'
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:
 gajim-omemo : Depends: python-axolotl (>= 0.1.35-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

So going on with:

# apt-get install python-axolotl/unstable
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '0.1.35-1' (Debian:testing [all]) for 'python-axolotl'
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-axolotl : Depends: python-protobuf (>= 3.0.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Hm, okay, going on with:

# apt-get install python-protobuf/unstable
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '3.0.0-7' (Debian:testing [amd64]) for 'python-protobuf'
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-protobuf : Depends: libprotobuf10 but it is not going to be installed
                   Depends: libstdc++6 (>= 5.2) but 4.9.2-10 is to be installed
                   Depends: python-six (>= 1.9) but 1.8.0-1 is to be installed
E: Unable to correct problems, you have held broken packages.

At this point I stopped because I don't feel comfortable to start installing packages from unstable. Do you know if libprotobuf10, libstdc++6 and python-six are only used by gajim or gajim plugins?

lovetox commented 8 years ago

then dont install from unstable, then you have to install every dependency manually

you need Gajim 0.16.5 or higher python-protobuf 2.6.1 or higher python-axolotl 0.1.7 or higher

then you can download the plugin from within gajims pluginmanager and start

depending on your installation it could be necessary to downgrade to protobuf 2.6

lovetox commented 8 years ago

and i highly doubt that .local/share/gajim/plugins was empty

because only the plugin needs python-axolotl, so if this was the error message, it must have been on your harddrive

ghost commented 8 years ago

@lovetox Okay, Gajim was already the right version installed from testing:

# apt-cache policy gajim
gajim:
  Installed: 0.16.5-2
  Candidate: 0.16.5-2
  Version table:
     0.16.6-1 0
         50 http://ftp.de.debian.org/debian/ unstable/main amd64 Packages
 *** 0.16.5-2 0
        750 http://ftp.de.debian.org/debian/ testing/main amd64 Packages
        100 /var/lib/dpkg/status
     0.16-1+deb8u1 0
        995 http://ftp.de.debian.org/debian/ jessie/main amd64 Packages
       1000 http://security.debian.org/ jessie/updates/main amd64 Packages
       1000 http://security.debian.org/ stable/updates/main amd64 Packages
        995 http://ftp.de.debian.org/debian/ stable/main amd64 Packages

Going on with python-protobuf 2.6.1 or higher:

# apt-cache policy python-protobuf
python-protobuf:
  Installed: (none)
  Candidate: 2.6.1-1
  Version table:
     3.0.0-7 0
        750 http://ftp.de.debian.org/debian/ testing/main amd64 Packages
         50 http://ftp.de.debian.org/debian/ unstable/main amd64 Packages
     2.6.1-1 0
        995 http://ftp.de.debian.org/debian/ jessie/main amd64 Packages
        995 http://ftp.de.debian.org/debian/ stable/main amd64 Packages

So # apt-get install python-protobuf did it. Going on with python-axolotl 0.1.7 or higher:

# apt-cache policy python-axolotl
python-axolotl:
  Installed: (none)
  Candidate: 0.1.35-1
  Version table:
     0.1.35-1 0
        750 http://ftp.de.debian.org/debian/ testing/main amd64 Packages
         50 http://ftp.de.debian.org/debian/ unstable/main amd64 Packages
     0.1.7-1~bpo8+1 0
        200 http://http.debian.net/debian/ jessie-backports/main amd64 Packages

Fortunately there is a backports backage!

# apt-get -t jessie-backports install python-axolotl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  python-axolotl-curve25519
The following NEW packages will be installed:
  python-axolotl python-axolotl-curve25519
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 95.4 kB of archives.
After this operation, 478 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://http.debian.net/debian/ jessie-backports/main python-axolotl-curve25519 amd64 0.1-2~bpo8+1 [60.4 kB]
Get:2 http://http.debian.net/debian/ jessie-backports/main python-axolotl all 0.1.7-1~bpo8+1 [35.0 kB]
Fetched 95.4 kB in 0s (148 kB/s)         
Selecting previously unselected package python-axolotl-curve25519.
(Reading database ... 199577 files and directories currently installed.)
Preparing to unpack .../python-axolotl-curve25519_0.1-2~bpo8+1_amd64.deb ...
Unpacking python-axolotl-curve25519 (0.1-2~bpo8+1) ...
Selecting previously unselected package python-axolotl.
Preparing to unpack .../python-axolotl_0.1.7-1~bpo8+1_all.deb ...
Unpacking python-axolotl (0.1.7-1~bpo8+1) ...
Setting up python-axolotl-curve25519 (0.1-2~bpo8+1) ...
Setting up python-axolotl (0.1.7-1~bpo8+1) ...

Finally Gajim is starting now and Omemo plugin works! Thx alot.

lovetox commented 8 years ago

thank god

ghost commented 8 years ago

@lovetox Well, God wouldn't force Debian users to organize a Repo mix-and-match hit parade ;) Anyway... thanks alot for all your help!

lovetox commented 8 years ago

there should be a package of gajim-omemo in debian-backports from today on.

if this doesnt work out of the box with gajim, this should be mentioned to the package maintainer

ghost commented 8 years ago

@lovetox thanks. I purged everything and tried to install everything from backports. This should work:

apt-get -t jessie-backports install python-nbxmpp=0.5.3-1~bpo8+1
apt-get -t jessie-backports install gajim=0.16.5-2~bpo8+1
apt-get -t jessie-backports install python-axolotl

Then I could use the OMEMO plugin provided via Gajim -> Edit -> Plugins -> Available.

Edit: OMEMO seems only to work in user to user chat, not in multi user chats (I've tried using Android-Conversations and Debian-Gajim). I get "testuser: I sent you an OMEMO encrypted message but your client doesn’t seem to support that. Find more information on https://conversations.im/omemo" in Gajim. But I think is not related to this topic anymore. Just for others following my installation notes. Edit2: OMEMO support for groupchat is not implemented yet.

lovetox commented 8 years ago

groupchat is not implemented yet

ghost commented 8 years ago

@lovetox Okay. No problem and thanks alot for this information! :)