sharppy / SHARPpy

Sounding/Hodograph Analysis and Research Program in Python
https://sharppy.github.io/SHARPpy/index.html
Other
219 stars 112 forks source link

Undefined Symbol Bug with Qt 4.8.6.0 and PySide 1.2.1 Linux #51

Closed keltonhalbert closed 9 years ago

keltonhalbert commented 9 years ago

This is not a bug with SHARPpy specifically, but I wanted to open this in case any other Linux users encounter the same issue.

If your Anaconda Python Distribution updates your qt library, SHARPpy will not run. It appears to be a compatability issue with basemap 1.0.7 and matplotlib 1.4.3, which (seemingly) uses a different version of the qt libraries than PySide. If you have this issue, you will see an undefined symbol error, such as:

ImportError: /home/khalbert/anaconda/lib/python2.7/site-packages/PySide/QtGui.so: undefined symbol: ZN8QPainter10drawPixmapERK6QRectFRK7QPixmapS2

I'm currently working on some sort of workaround, but I have not made much progress on it yet.

keltonhalbert commented 9 years ago

Okay, so I've isolated the issue.

What does work: basemap 1.0.7 np19py27_0
numpy 1.9.2 py27_0
matplotlib 1.4.3 np19py27_1
pyside 1.2.1 py27_1
qt 4.8.5 0

What does not work: qt 4.8.6 0

To prevent qt from being updated when installing other packages, create a file called 'pinned' in the directory /path/to/anaconda/conda-meta/ and add the following line: "qt ==4.8.5".

wblumberg commented 9 years ago

Hey @keltonhalbert, is this still only an issue with running it on Linux, right? I ask because the PECAN folks are wanting to begin the SHARPpy installations on their computers, and I want to make sure they don't have too much trouble.

keltonhalbert commented 9 years ago

I'd have to check, but I do believe this is till an issue.

The remedy, in better detail, is:

conda install pyside conda remove qt create a file called 'pinned' in the directory /path/to/anaconda/conda-meta/ and add the following line: "qt ==4.8.5" with a space in between qt and the ==. conda install qt

This should work.

ghost commented 9 years ago

It appears that there is an update to the QT package for linux 4.8.6-1, which has fixed this bug. I just installed on CENT OS 6 machines and all appears to be working.

wblumberg commented 9 years ago

Hi goble28…thank you for this heads up. We really appreciate it.