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