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#49943 - Removal of method in cPickle breaks gobject-introspection

Attached to Project: Arch Linux
Opened by Nicolas Glassey (Weby) - Monday, 04 July 2016, 14:58 GMT
Last edited by Doug Newgard (Scimmia) - Monday, 11 July 2016, 04:02 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
cPickle removed "BadPickleGet" method. This breaks gobject-introspection, for example in cachestore.py:187.

Additional info:
* package version(s) : 1.48.0_1
* config and/or log files etc.


Steps to reproduce:
I personally tried to build gtk3-typeahead project from AUR. It fails to build because of this.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Monday, 11 July 2016, 04:02 GMT
Reason for closing:  No response
Comment by Doug Newgard (Scimmia) - Monday, 04 July 2016, 15:25 GMT
This makes no sense. gobject-introspection uses python3, and there's no cPickle in python3 AFAIK.
Comment by Doug Newgard (Scimmia) - Wednesday, 06 July 2016, 14:12 GMT
Ping?
Comment by Nicolas Glassey (Weby) - Wednesday, 06 July 2016, 14:15 GMT
Well, cachestore.py contains occurrences of cPickle, im not anywhere near my computer to check for other files but at least that uses cPickle.

For my use, I simply removed all usage of cPickle and it works just fine. maybe a rewrite is in order.
Comment by Doug Newgard (Scimmia) - Wednesday, 06 July 2016, 14:31 GMT
The imports of cPickle are in a try/except, specifically to cover both python2 and python3. Unless you have something dumb installed for python3 that make the import of cPickle succeed, it should fall back to importing the correct lib.
Comment by Doug Newgard (Scimmia) - Wednesday, 06 July 2016, 14:47 GMT
When you get back to your system, run "python", then "import cPickle". If that succeeds, run "print( cPickle.__file__ )". Figure out where it came from.
Comment by Nicolas Glassey (Weby) - Wednesday, 06 July 2016, 15:13 GMT
Python 3 automatically imports cPickle when importing pickle. That's the default behavior of that library for python 3.

https://wiki.python.org/moin/UsingPickle
Comment by Doug Newgard (Scimmia) - Wednesday, 06 July 2016, 15:15 GMT
Kind of. It import _pickle, which is the new binary form. It does not import cPickle, as that doesn't exist.
Comment by Nicolas Glassey (Weby) - Wednesday, 06 July 2016, 15:17 GMT
That's not really the issue anyway, the problem comes from the BadPickleGet method which doesn't exist anymore. Assumed it came from cPickle, hence the title.
Comment by Nicolas Glassey (Weby) - Wednesday, 06 July 2016, 15:18 GMT
I'll double check my installation tonight and check on a fresh install. Any idea which package contains Pickle? Is it inside python3 itself?
Comment by Doug Newgard (Scimmia) - Wednesday, 06 July 2016, 15:20 GMT
Yes, pickle is part of python3 itself.

Give us exact errors.
Comment by Doug Newgard (Scimmia) - Saturday, 09 July 2016, 03:47 GMT
Ping?

Loading...