Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#40985 - Cannot import pgmagick (Python 3): libboost error

Attached to Project: Arch Linux
Opened by gattu marrudu (gattu_marrudu) - Thursday, 26 June 2014, 13:15 GMT
Last edited by Doug Newgard (Scimmia) - Saturday, 28 June 2014, 11:46 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I tried installing pgmagick for Python via pip. In both cases I get this error:
ImportError: /usr/lib/libboost_python.so.1.55.0: undefined symbol: PyClass_Type
Is it libboost's fault?
I saw this thread related to boost and another package: http://stackoverflow.com/questions/19865757/importerror-usr-lib-libboost-python-so-1-54-0-undefined-symbol-pyclass-type but I'm no C++ developer so I'm not sure how I can apply that fix to my package.

Thanks,
gm


Additional info:
- python 3.4.1
- boost-1.55.0-6
- boost-libs-1.55.0-6
- pgmagick 0.5.7 (via pip)

Steps to reproduce:
$ sudo pacman -S boost boost-libs
$ sudo pip install pgmagick
[...]

$ python
Python 3.4.1 (default, May 19 2014, 17:23:49)
[GCC 4.9.0 20140507 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pgmagick
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/site-packages/pgmagick/__init__.py", line 1, in <module>
from pgmagick import _pgmagick
ImportError: /usr/lib/libboost_python.so.1.55.0: undefined symbol: PyClass_Type


This task depends upon

Closed by  Doug Newgard (Scimmia)
Saturday, 28 June 2014, 11:46 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Software installed via 3rd party package manager are not Arch's responsibility.
Comment by Jan de Groot (JGC) - Thursday, 26 June 2014, 14:41 GMT
The problem is that libboost_python.so is a python2 library. libboost_python3.so contains the python3 version. Loading python2 libraries inside python3 is not supported.

You probably need to patch pgmagick to reference libboost_python3 instead of libboost_python.
Comment by gattu marrudu (gattu_marrudu) - Friday, 27 June 2014, 13:53 GMT
Thanks Jan. I will try to get help on the BBS for that since I'm not too familiar with compiling python packages.

Is it something related to the upstream boost library package to have the name 'python' for Python 2 and 'python3' for Python 3? I noticed that most other Arch packages use 'python' for Python 3 and 'python2' for Python 2.

Loading...