conda-forge / pyqt-feedstock

A conda-smithy repository for pyqt.
BSD 3-Clause "New" or "Revised" License
5 stars 35 forks source link

PyQt5 failing to import on Linux #28

Closed astrofrog closed 7 years ago

astrofrog commented 7 years ago

I'm seeing the following error in the glue-core conda-forge build on Linux:

+ source /opt/conda/bin/activate /feedstock_root/build_artefacts/glue-core_1496062904933/_t_env
+ /feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/bin/python -s /feedstock_root/build_artefacts/glue-core_1496062904933/test_tmp/run_test.py
Traceback (most recent call last):
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/test_tmp/run_test.py", line 8, in <module>
    import glue.app.qt
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/glue/app/qt/__init__.py", line 3, in <module>
    from .application import GlueApplication
import: 'glue'
import: 'glue.core'
import: 'glue.app.qt'
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/glue/app/qt/application.py", line 37, in <module>
    from glue.app.qt.terminal import glue_terminal, IPythonTerminalError
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/glue/app/qt/terminal.py", line 20, in <module>
    from IPython import get_ipython
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/IPython/__init__.py", line 49, in <module>
    from .terminal.embed import embed
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/IPython/terminal/embed.py", line 15, in <module>
    from IPython.core import magic_arguments
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/IPython/core/magic_arguments.py", line 60, in <module>
    from IPython.utils.text import dedent
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/IPython/utils/text.py", line 21, in <module>
    from pathlib2 import Path
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/pathlib2.py", line 46, in <module>
    from scandir import scandir as os_scandir
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/scandir.py", line 435, in <module>
    libc = ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True)
  File "/feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/ctypes/__init__.py", line 362, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /feedstock_root/build_artefacts/glue-core_1496062904933/_t_env/lib/python2.7/site-packages/PyQt5/../../.././libgio-2.0.so.0: undefined symbol: g_cclosure_marshal_VOID__OBJECT
TESTS FAILED: glue-core-0.10.4-py27_0

./ci_support/run_docker_build.sh returned exit code 1

Full log: https://circleci.com/api/v1.1/project/github/conda-forge/glue-core-feedstock/14/output/13/0?file=true

ccordoba12 commented 7 years ago

This seems to be caused by an outdated GLib. I pushed new GStreamer packages built against the latest GLib (GStreamer is a dependency of Qt5).

@ocefpaf, @jakirkham, do we need to recompile Qt5 (and also PyQt5) for this change to take effect?

astrofrog commented 7 years ago

I'm still seeing the issues, so I suspect at least one of Qt or PyQt has to be rebuilt

ccordoba12 commented 7 years ago

Yep, I'm hoping for PyQt only (but that's probably not enough).

astrofrog commented 7 years ago

@ccordoba12 - is the right thing to do just to increase the build number? Will it rebuild for all platforms?

ccordoba12 commented 7 years ago

@astrofrog, new Linux packages should be available in an hour or so. Please let us know if they fix this problem.

ccordoba12 commented 7 years ago

@astrofrog?