From: <jca...@in...> - 2001-11-26 04:02:24
|
On Saturday 24 November 2001 18:39, Alan W. Irwin wrote: | I just fixed the configuration issue so python should be a little | easier to work with. | | I just tried the case with static drivers and pythondemos.py -dev | png works. Thus, the only combination I know of that doesn't work | is dynamic drivers + pythondemos.py -dev png. I hope Joao is able | to confirm this now for python=3D1.5.2 using double. Yes: jcard@rick:~/tmp/plplot/tmp > ./pythondemos.py -dev png -o po.png Device not loaded! tag=3Dpng, drvidx=3D4 Trying to load gd.drv on ./drivers/gd.drv Trying to load at /usr/local/test/lib/drivers/gd.drv Unable to load driver: gd.drv. Reason: /usr/local/test/lib/drivers/gd.drv: cannot open shared object=20 file: No such file or directory <------------------------------------ Segmentation fault The driver is not found at all. Setting PYTHONDIR=3D`pwd` (by the way, where are all those variables (java also variables)=20 documented?) jcard@rick:~/tmp/plplot/tmp > export=20 PYTHONDIR=3D/usr/local/test/python/=20 jcard@rick:~/tmp/plplot/tmp > ./pythondemos.py -dev jpeg -o po.jpeg Device not loaded! tag=3Djpeg, drvidx=3D4 Trying to load gd.drv on ./drivers/gd.drv Trying to load at /usr/local/test/lib/drivers/gd.drv Unable to load driver: gd.drv. Reason: /usr/local/test/lib/drivers/gd.drv: undefined symbol: <----- plP_setpxl Segmentation fault So, now the driver is loaded, but plP_setpxl is not found. But the symbol is defined in libplplot.so: jcard@rick:~/tmp/plplot/tmp > nm -p libplplotd.so | fgrep plP_setpxl 00019910 T plP_setpxl | Presuming that will be confirmed, I think the key question is how | is the dynamic ps driver treated differently than the dynamic gd | driver? As far as I know, all dynamic drivers are treated the same way, as=20 the procedure to load them is the same. Thus, the problem is with python dynamic loading, not the gd driver=20 (that works for other bindings/programs). It must be one of those=20 environment variables that we like so much... I make no idea. The problem is with python needing to load both libplplotd.so and=20 drivers/gd.drv. It founds the last, but not the first. If I change RTLD_NOW to RTLD_LAZY in plcore.c, the behaviour changes,=20 but the demo still does not run. No more ideias. Joao | | Alan | | email: ir...@be... | phone: 250-727-2902=09FAX: 250-721-7715 | snail-mail: | Dr. Alan W. Irwin | Department of Physics and Astronomy, | University of Victoria, P.O. Box 3055, | Victoria, British Columbia, Canada, V8W 3P6 | __________________________ | | Linux-powered astrophysics | __________________________ |