Hi Hazen:

As of revision 10066 I have completed all planned build system changes
involving the plplot_pyqt4 extension module and the pyqt4_test.py example
that uses that.

This work has involved a number of changes:

* I wasn't having much luck trying to fool CMake into interpreting qt.so as
   a library (as opposed to how that device driver was built as a CMake
   module) so I properly solved that issue by building and installing a
   plplotqt library which uses the same source code as qt.so, but which CMake
   treats as a library.  (Andrew, there is still a visibility issue for the
   symbols in that C++ library under Linux if you use export CXX='g++ -g
   -fvisibility=hidden'.  Could you take a look at that when you can spare
   some time?) The resulting library passes the "ldd -r" test both in the
   build tree and install tree.

* The plplot_pyqt4 extension module is now built in bindings/qt_gui/pyqt4.
   This follows what is done for the gnome2 versus pygcw bindings and seems
   a slightly more rational organization to me.

* I now generate the plplot_pyqt4 Python extension module source code using
   sip directly.  The required directory and flags are configured by invoking
   python at cmake time in cmake/modules/qt.cmake. To me that is just easier
   than configuring sip with config.py at build time since there are fewer
   files to maintain (config.py is now removed since it is no longer needed),
   you don't have any weird invocations such as touching config.py.in first,
   and you don't need any special directories because of the extra Makefile
   produced by the config.py approach.  The result extension module is linked
   against the plplotqt library (as opposed to qt.so) and passes the "ldd -r"
   test (both in the build tree and install tree).  You only get this result
   if you do not specify -fvisibility=hidden (see question above for Andrew).

* I modified pyqt4_test.py a bit so that it would look for the plplot and
   plplot_pyqt4 extension modules in the correct place.  The result was a GUI
   with nothing plotted but no error messages.  I then modified pyqt4_test.py
   some more to put in some actual plot commands (as part of the
   initialization which, of course, is not right for the long term), but
   again I just got a blank GUI with no errors.  So there is obviously some
   more work to do on pyqt4_test.py and possibly plplot_pyqt4.sip to make an
   example that actually plots more than a blank screen. However, I will
   leave such further changes to you.  I believe all the build system stuff
   should just work now for you without issues.

   N.B. it is important that the modules you import with

from PyQt4 import QtCore, QtGui

   in pyqt4_test.py link to the same Qt4 libraries as the plplot_pyqt4
   extension module.  For my downloaded Qt4.5.1 SDK version of Qt, I arrange
   that by specifying LD_LIBRARY_PATH appropriately.  This is not necessary
   if plplot_pyqt4.sip is built against the same system Qt4 libraries as
   QtCore and QtGui point to by default.

   For both my system Qt4.4 version and the downloadable Qt4.5 version I get
   the above blank GUI result.

I will be most interested to see whether you also replicate the blank GUI
for pyqt4_test.py regardless of what plplot commands are used, and, of
course, if you have any further build-system questions about the plplotqt
library or the plplot_pyqt4 extension module, let me know.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to