|
From: | Richard Bell |
Subject: | Re: [Discuss-gnuradio] QTGUI Issue |
Date: | Mon, 26 Jan 2015 17:47:54 -0800 |
Executing 'export LD_PRELOAD=/usr/lib64/libqwt.so.5' allows me to run 'from gnuradio import qtgui' from a python prompt successfully. However, when I start grc and attempt to run a flowgraph as a test, I still get this error:
AttributeError: 'module' object has no attribute 'QWidget'I uninstalled all the qwt and pyqwt modules and all components pybombs installed and started over.I watched the qwt install closely. Pybombs installs through rpm the following:PyQwt-5.2.0PyQwt-devel-5.2.0qwt-5.1.1qwt-devel-5.1.1It first identified qwt-5.1.1 as being an invalid version number, but when I ran pybombs install again, it used those versions that the rpm had to install. I'm not sure why it allows itself to download invalid versions.
If I try and force an install from source, it fails on pyqwt. I attempted to debug that further and got as far as configuring sip manually to overcome a sip import error that causes the 'source configure.py' step of pyqwt to fail. This then lead to several qt errors, at which point I stopped.I'm struggling to figure out a solution.RichOn Mon, Jan 26, 2015 at 2:10 PM, Marcus Müller <address@hidden> wrote:As it seems, at compile time, the 5.1.1 version was used, whilst at runtime the 5.2.0 version from your ~/Documents/target prefix seems to be found. That's a bit strange, since pybombs should use the qwt version that it downloaded (ie. 5.2.0 in your case). Maybe it's all the other way around...
If you
export LD_PRELOAD=/usr/lib64/libqwt.so.5
before running your GNU Radio application from the same terminal, does it help? what about using export LD_PRELOAD=/home/tsvcis/Documents/pybombs/src/qwt5/lib/libqwt.so.5 ?
Greetings,
Marcus
On 01/26/2015 10:46 PM, Richard Bell wrote:
OK Marcus. The shared object file does exist in two directories. Full output of comands below, with matches bolded:
ldd /home/tsvcis/Documents/target/lib64/libgnuradio-qtgui-3.7.7git.so.0.0.0 | grep qwt
libqwt.so.5 => /home/tsvcis/Documents/target/lib/libqwt.so.5 (0x00007f5d2a4c1000)
address@hidden ~]$ sudo find / -name 'libqwt.so.5*'
[sudo] password for tsvcis:
/home/tsvcis/Documents/pybombs/src/qwt5/lib/libqwt.so.5.2.0
/home/tsvcis/Documents/pybombs/src/qwt5/lib/libqwt.so.5.2
/home/tsvcis/Documents/pybombs/src/qwt5/lib/libqwt.so.5
/home/tsvcis/Documents/target/lib/libqwt.so.5.2.0
/home/tsvcis/Documents/target/lib/libqwt.so.5.2
/home/tsvcis/Documents/target/lib/libqwt.so.5
/usr/lib64/libqwt.so.5
/usr/lib64/libqwt.so.5.1.1
/usr/lib64/libqwt.so.5.1
The only thing I could think to do was rename the files in /usr/lib64. I don't see this as having an effect. What should I do to resolve this from here?
Thanks a lot,
Rich
On Mon, Jan 26, 2015 at 11:31 AM, Marcus Müller <address@hidden> wrote:
Hi Richard,
this looks like you've installed a "good" version of QWT, which is used when building GNU Radio, but when running a GNU Radio program, a different version of the QWT library is loaded, which leads to missing symbols.
My first approach would be to run ldd on /home/tsvcis/Documents/target/lib64/libgnuradio-qtgui-3.7.7git.so.0.0.0 , and see which qwt lib linux will try to load at runtime:
ldd /home/tsvcis/Documents/target/lib64/libgnuradio-qtgui-3.7.7git.so.0.0.0|grep qwt.
Then search for files that have the same base name, in this case libqwt.so .
Greetings,
Marcus
On 01/26/2015 07:59 PM, Richard Bell wrote:
v/r,Conclusion: There is a problem with my qtgui install but I don't know how to debug any further to apply a fix. I've googled the traceback output with no luck. I'm hoping someone has come across and fixed this issue before who could explain what's going on.I then opened a terminal to test library imports. I can 'import gnuradio' and I can 'from gnuradio import wxgui', as you would expect. When I try, 'from gnuradio import qtgui', I get the following output:Problem: I can't use qtgui blocks. Wxgui blocks work. My system is CentOS 6.6 running gnuradio 3.7.6 installed using pybombs.Debug: I've run cmake in pybombs/gnuradio/src/build to make sure qtgui was enabled during install, and it is. The only gnuradio components disabled that are listed by cmake are doxygen, sphinx, gr-comedi and gr-zeromq.
>>> import gnuradio
>>> from gnuradio import wxgui
>>> from gnuradio import qtgui
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/tsvcis/Documents/target/lib64/python2.6/site-packages/gnuradio/qtgui/__init__.py", line 34, in <module>
from qtgui_swig import *
File "/home/tsvcis/Documents/target/lib64/python2.6/site-packages/gnuradio/qtgui/qtgui_swig.py", line 26, in <module>
_qtgui_swig = swig_import_helper()
File "/home/tsvcis/Documents/target/lib64/python2.6/site-packages/gnuradio/qtgui/qtgui_swig.py", line 22, in swig_import_helper
_mod = imp.load_module('_qtgui_swig', fp, pathname, description)
ImportError: /home/tsvcis/Documents/target/lib64/libgnuradio-qtgui-3.7.7git.so.0.0.0: undefined symbol: _ZN7QwtPlot16staticMetaObjectE
>>>
Rich
_______________________________________________ Discuss-gnuradio mailing list address@hidden https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Prev in Thread] | Current Thread | [Next in Thread] |