I don’t have a solution for this yet either, but I have made some
“progress”. I decided to try and build PyQwt-5.2.0 and see what
happened.
Summarizing things we already found:
The starting point for this effort was an SD Card newly generated from
the
sdimage-gnuradio-demo-direct.xz file that Phillip posted at:
http://files.ettus.com/e3xx_images/beta/dizzy-test/ the other day. As
one would expect once I modifed /etc/ssh/sshd_config, setting
X11Forwarding
to yes and reset X I could X in and run GRC from my 14.04 Ubuntu VM.
The first thing I noted was that:
-
There are spurious \n’s after the *'s in the file
/usr/lib/python2.7/site-packages/PyQt4/Qt.py in the instance that is
loaded
on the E310 that need to be removed in order to not cause an error. -
In order to run GRC you need to run it
with LD_PRELOAD="/usr/lib/libQtDeclarative.so.4.8.6
/usr/lib/libQtSvg.so.4.8.6 /usr/lib/libQtXml.so.4.8.6
/usr/lib/libQtWebKit.so.4.9.4" gnuradio-companion
This get you to the point where running a flowgraph with QtGUI widgets
in
it complains that the is no QWT
First, when one tries to install the PyQwt-5.2.0 code by running:
python configure.py -Q …/qwt-5.2
A message is generated by configure.py that indicates “Requires at least
PyQt-4.2 and it’s development tools”. This appeared to be a result of a
change in the way PyQt4 pyqtconfig is dealt with from version to
version.
The notes on pyqtconfig in this link:
give some indication of this as well as information found here:
http://pyqt.sourceforge.net/Docs/PyQt4/build_system.html
This I got past by placing a copy of pyqtconfig.py that I found in my
Ubuntu 14.04 VM version implementation into the E310’s
/usr/lib/python2.7/site-packages/PyQt4 directory
I also found that when I tried to run pyqtconfig.py from the command
line
it complained about not having sipconfig.py and so I found a copy of
sipconfig.py and sipconfig-nd.py on the Ubuntu 14.04 VM version and put
them in the /usr/lib/python2.7/site-packages on the E310.
This got me farther on the path towards trying to build PyQwt on the
E310,
but issues still remained further downstream of the “Requires at least
PyQt-4.2 and it’s development tools” message.
I believe this was all that was required to get past the invalid version
message. Although I also copied the folder Qwt5 from
/usr/share/sip/PyQt4
to a new folder on the E310 by that name in that location and I copied
the
file folder named Qwt5 from the /usr/lib/python2.7/dist-packages/Pyqt4
folder to the /usr/lib/python2.7/site-packages/PyQt4 directory on the
E310
… I knew that the two .so files (_iqt.so and Qwt.so) would likely not
work because of a need to crosscompile them but I figured, Python is
Python … Ididn’t copy any .pyc files figuring they would get
generated
automatically and they were.
Once I had done these things I did in fact get past the "Missing Qwt5
message in GRC, but as expected I came to the message about the invalid
ELF
format of the .so files.
I was hoping to find the .so files on one of my SD cards from Zedboard
or
from the original release version of the E310 code, but neither of these
appear to have PyQt4 on them at all.
As I have been unable to get the build complete, even on the 14.04 VM
natively I thought I’d go back to trying to do this in preparation for
trying to crosscompile the missing .so files.
I didn’t keep real good notes on what hurtles I faced with this, but I
got
to the point where python configure.py -Q …/qwt-5.2 was failing with:
sip:Unable to find file QtCore/QtCoremod.sip SIP failed to generate C++
code,
I found that I needed to sudo apt-get install python-qt4-dev and once I
did
this the process ran to completion and I was able to ‘make’ and ‘sudo
make
install’ and I am able to run QTGUI Widgets on the native GRC
implementation.
So now the issue is seeing if I can get the cross compilation going …
Hope this saves someone some time … Chris, is your “Fm Broadcast
Tutorial” in the Public domain somewhere?
LVDJ