libpng 1.16 breaks pyqt on OSX

0 views
Skip to first unread message

Antonio

unread,
May 31, 2015, 10:42:43 AM5/31/15
to co...@continuum.io
Hi,

the recent update to libpng 1.16 breaks the pyqt package on OSX. The error appear when importing QtGui in this way

In [1]: from PyQt4 import QtGui
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-f5acec733f4f> in <module>()
----> 1 from PyQt4 import QtGui

ImportError: dlopen(/Users/anto/anaconda/lib/python2.7/site-packages/PyQt4/QtGui.so, 2): Library not loaded: @rpath/libpng15.15.dylib
 
Referenced from: /Users/anto/anaconda/lib/libQtGui.4.8.6.dylib
 
Reason: image not found

Note that doing "import PyQt4" does not give any errors, so could be a good idea to add the previous import line to the test section of the pyqt conda package.

Reverting to libpng1.15.3 fixes the error.

Antonio 

Carlos Córdoba

unread,
May 31, 2015, 11:07:22 AM5/31/15
to co...@continuum.io
Hi,

Thanks for reporting this error. We are aware of it and we plan to fix it in the next couple of days.

Cheers,
Carlos

El 31/05/15 a las 09:42, Antonio escribió:
--
You received this message because you are subscribed to the Google Groups "conda - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to conda+un...@continuum.io.
To post to this group, send email to co...@continuum.io.
Visit this group at http://groups.google.com/a/continuum.io/group/conda/.

Antonio

unread,
May 31, 2015, 5:02:29 PM5/31/15
to co...@continuum.io
Thanks Carlos, how can I get updated when the problem is fixed?

Also, in order to avoid hunting down these problems, is there a way to pin all the dependencies recursively when building or installing a package? I'd like to release maintenance versions of some packages but is not uncommon that the build breaks due to some recently updated packages. And every time I have to find which of the many dependencies causes the problem and pin it to a previous version. And the problem becomes tricky when the culprit is a dependency of a dependency like in this case (my package depends on pyqt but not on libpng explicitly).

As another example, after a recent update, building a package of mine fails because it tries to pip install nose and mock that are not direct dependencies. I suppose that the new version of some dependency now requires nose and mock, but the conda receipt does not declare them (I don't know which package is it). So far, I worked around this issue by adding nose and mock to the build dependencies of my package (even if they are not).

The problem, in general, is that I'm not able to create a reproducible build environment.
I can export an environment to pin all the packages to an exact versions. But if I use this environment to build a new maintenance version of my package, all the dependencies are automatically updated and may potentially break something.

How people handle this situation?

Antonio

Ilan Schnell

unread,
May 31, 2015, 7:59:51 PM5/31/15
to Carlos Córdoba, conda
Hi,
I just uploaded the new builds of Qt to the default repository.
"conda update qt" will get the Qt which is linked to libpng 1.6.

Cheers   Ilan
Reply all
Reply to author
Forward
0 new messages