Bugzilla – Bug 960496
TW 20151229: network/deluge fails to start
Last modified: 2016-03-07 04:52:51 UTC
Repro: Run `deluged --do-not-daemonize` Expected behavior: works fine What happens instead: it fails with following message in console: develop7@server:~> deluged --do-not-daemonize :0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'. Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied. Without the service_identity module and a recent enough pyOpenSSL to support it, Twisted can perform only rudimentary TLS client hostname verification. Many valid certificate/hostname mappings may be rejected. [ERROR ] 09:27:25 main:237 /usr/lib64/libboost_python.so.1.59.0: undefined symbol: PyUnicode_AsUTF8String Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/deluge/main.py", line 230, in start_daemon Daemon(options, args) File "/usr/lib/python2.7/site-packages/deluge/core/daemon.py", line 136, in __init__ from deluge.core.core import Core File "/usr/lib/python2.7/site-packages/deluge/core/core.py", line 36, in <module> from deluge._libtorrent import lt File "/usr/lib/python2.7/site-packages/deluge/_libtorrent.py", line 59, in <module> import libtorrent as lt ImportError: /usr/lib64/libboost_python.so.1.59.0: undefined symbol: PyUnicode_AsUTF8String googling finds only https://bugs.archlinux.org/task/34478 from 2013
same problem when starting jbrout (a photo manager): ah@/home/ah > /opt/jbrout/jbrout/jbrout.py Traceback (most recent call last): File "/opt/jbrout/jbrout/jbrout.py", line 63, in <module> from jbrout.commongtk import AlbumCommenter, InputBox, \ File "/opt/jbrout/jbrout/jbrout/commongtk.py", line 308, in <module> from jbrout import pyexiv File "/opt/jbrout/jbrout/jbrout/pyexiv.py", line 29, in <module> import pyexiv2 File "/usr/lib64/python2.7/site-packages/pyexiv2/__init__.py", line 60, in <module> import libexiv2python ImportError: /usr/lib64/libboost_python.so.1.59.0: undefined symbol: PyUnicode_AsUTF8String
This also affects pyexiv2 and probably quite a few more python modules. The issue seems to be related to a difference in python version that the module was compiled against and the python runtime, see http://stackoverflow.com/questions/29129518/undefined-symbol-in-libboost
As Jochen Schroeder saids the issue happens because "libboost_python" is wrongly being compiled with python3 support. The problem was introduced Dic. 23th when "libboost_python3" was added, as the changelog saids ( https://build.opensuse.org/package/view_file/openSUSE:Factory/boost/boost.changes?expand=1 ): Sun Dec 13 15:31:10 UTC 2015 - egeorget@openmailbox.org - Add support to Boost:Python3 (boo#951902) * New library: python3 It seems that "libboost_python" and "libboost_python3" are being compiled with the same flags. I compiled locally "libboost_python" with python 2.7 support and worked just as expected. It's just a minor mistake in the "boost.spec" file from the package. I'll take a look and try to fix it in a package branch.
(In reply to Andrei Dziahel from comment #0) > Repro: > > Run `deluged --do-not-daemonize` > > Expected behavior: works fine > > What happens instead: it fails with following message in console: > > develop7@server:~> deluged --do-not-daemonize > :0: UserWarning: You do not have a working installation of the > service_identity module: 'No module named service_identity'. Please install > it from <https://pypi.python.org/pypi/service_identity> and make sure all of > its dependencies are satisfied. Without the service_identity module and a > recent enough pyOpenSSL to support it, Twisted can perform only rudimentary > TLS client hostname verification. Many valid certificate/hostname mappings > may be rejected. > [ERROR ] 09:27:25 main:237 /usr/lib64/libboost_python.so.1.59.0: undefined > symbol: PyUnicode_AsUTF8String > Traceback (most recent call last): > File "/usr/lib/python2.7/site-packages/deluge/main.py", line 230, in > start_daemon > Daemon(options, args) > File "/usr/lib/python2.7/site-packages/deluge/core/daemon.py", line 136, > in __init__ > from deluge.core.core import Core > File "/usr/lib/python2.7/site-packages/deluge/core/core.py", line 36, in > <module> > from deluge._libtorrent import lt > File "/usr/lib/python2.7/site-packages/deluge/_libtorrent.py", line 59, in > <module> > import libtorrent as lt > ImportError: /usr/lib64/libboost_python.so.1.59.0: undefined symbol: > PyUnicode_AsUTF8String > > > googling finds only https://bugs.archlinux.org/task/34478 from 2013
(In reply to Jon Jacobsen from comment #5) > (In reply to Andrei Dziahel from comment #0) > > Repro: > > > > Run `deluged --do-not-daemonize` > > > > Expected behavior: works fine > > > > What happens instead: it fails with following message in console: > > > > develop7@server:~> deluged --do-not-daemonize > > :0: UserWarning: You do not have a working installation of the > > service_identity module: 'No module named service_identity'. Please install > > it from <https://pypi.python.org/pypi/service_identity> and make sure all of > > its dependencies are satisfied. Without the service_identity module and a > > recent enough pyOpenSSL to support it, Twisted can perform only rudimentary > > TLS client hostname verification. Many valid certificate/hostname mappings > > may be rejected. > > [ERROR ] 09:27:25 main:237 /usr/lib64/libboost_python.so.1.59.0: undefined > > symbol: PyUnicode_AsUTF8String > > Traceback (most recent call last): > > File "/usr/lib/python2.7/site-packages/deluge/main.py", line 230, in > > start_daemon > > Daemon(options, args) > > File "/usr/lib/python2.7/site-packages/deluge/core/daemon.py", line 136, > > in __init__ > > from deluge.core.core import Core > > File "/usr/lib/python2.7/site-packages/deluge/core/core.py", line 36, in > > <module> > > from deluge._libtorrent import lt > > File "/usr/lib/python2.7/site-packages/deluge/_libtorrent.py", line 59, in > > <module> > > import libtorrent as lt > > ImportError: /usr/lib64/libboost_python.so.1.59.0: undefined symbol: > > PyUnicode_AsUTF8String > > > > > > googling finds only https://bugs.archlinux.org/task/34478 from 2013 Same problem: variety for backgrounds. # zypper info variety Loading repository data... Reading installed packages... Information for package variety: -------------------------------- Repository: openSUSE:Factory Name: variety Version: 0.5.4-1.1 Arch: noarch Vendor: openSUSE Installed: Yes Status: up-to-date Installed Size: 2.1 MiB Summary: Wallpaper changer It no longer starts a week ago and gives this error: /usr/lib/python2.7/site-packages/variety/__init__.py:105: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import Gtk, Gdk, GObject # pylint: disable=E0611 Traceback (most recent call last): File "/usr/bin/variety", line 38, in <module> import variety File "/usr/lib/python2.7/site-packages/variety/__init__.py", line 107, in <module> from variety import VarietyWindow File "/usr/lib/python2.7/site-packages/variety/VarietyWindow.py", line 22, in <module> from variety.FacebookHelper import FacebookHelper File "/usr/lib/python2.7/site-packages/variety/FacebookHelper.py", line 55, in <module> from variety.Util import Util File "/usr/lib/python2.7/site-packages/variety/Util.py", line 28, in <module> import pyexiv2 File "/usr/lib64/python2.7/site-packages/pyexiv2/__init__.py", line 60, in <module> import libexiv2python ImportError: /usr/lib64/libboost_python.so.1.59.0: undefined symbol: PyUnicode_AsUTF8String
The issue has been fixed in the lastest tumbleweed version. libboost_python, libtorrent-rasterbar8, python-libtorrent-rasterbar were fixed in openSUSE-20151128 release ( tumbleweed ).
Using Variety Wallpaper changer installed from Tumblweed repos and I still get this python error after the updates. Information for package variety: -------------------------------- Repository: Main Repository (OSS) Name: variety Version: 0.5.5-1.1 Arch: noarch Vendor: openSUSE Installed: Yes Status: up-to-date Installed Size: 2.1 MiB Summary: Wallpaper changer variety /usr/lib/python2.7/site-packages/variety/__init__.py:105: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import Gtk, Gdk, GObject # pylint: disable=E0611 Traceback (most recent call last): File "/usr/bin/variety", line 38, in <module> import variety File "/usr/lib/python2.7/site-packages/variety/__init__.py", line 107, in <module> from variety import VarietyWindow File "/usr/lib/python2.7/site-packages/variety/VarietyWindow.py", line 22, in <module> from variety.FacebookHelper import FacebookHelper File "/usr/lib/python2.7/site-packages/variety/FacebookHelper.py", line 55, in <module> from variety.Util import Util File "/usr/lib/python2.7/site-packages/variety/Util.py", line 28, in <module> import pyexiv2 File "/usr/lib64/python2.7/site-packages/pyexiv2/__init__.py", line 60, in <module> import libexiv2python ImportError: /usr/lib64/python2.7/site-packages/libexiv2python.so: undefined symbol: _ZNK5Exiv27ExifKey8tagLabelEv
Still seeing this issue using Variety Wallpaper changer. Latest Tumbleweed fully updated. See my lat comment.
Scott M, that issue doesn't seems to be related with this one. Please create a new issue for your problem.
Thanks John. I originally thought the same when I added to this bug, it really didn't fit here.