Hi Orion: Sorry your previous post fell through the cracks. I think Andrew is the best guy to evaluate your patch so I won't comment on that, but I will respond to two of your questions not involving the patch.
On 2012-01-04 09:12-0700 Orion Poplawski wrote: >> plplot-ocaml.i686: E: binary-or-shlib-defines-rpath >> /usr/lib/ocaml/stublibs/dllplplot_stubs.so ['/usr/lib/ocaml', >> '/builddir/build/BUILD/plplot-5.9.9/fedora/src'] >> plplot-ocaml.i686: E: binary-or-shlib-defines-rpath >> /usr/lib/ocaml/stublibs/dllplcairo_stubs.so ['/usr/lib', >> '/builddir/build/BUILD/plplot-5.9.9/fedora/src'] >> >> Anyone know why the rpaths aren't being removed on install? I have just made a change (revision 12117) which is untested, but which I think should fix this. >> >> Trying to build with the attached patch though I get this: >> >> /usr/lib/ccache/gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions >> -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom >> -fasynchronous-unwind-tables CMakeFiles/plserver.dir/plserver.c.o -o >> plserver >> -rdynamic ../../src/libplplotd.so.11.0.0 ../tcl/libplplottcltkd.so.9.2.0 >> -ltk >> -ltcl ../../src/libplplotd.so.11.0.0 >> >> -Wl,-rpath,/builddir/build/BUILD/plplot-5.9.9/fedora/src:/builddir/build/BUILD/plplot-5.9.9/fedora/bindings/tcl:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/csa:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/nn:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/qsastime: >> >> -Wl,-rpath-link,/builddir/build/BUILD/plplot-5.9.9/fedora/lib/csa:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/nn:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/qsastime:/builddir/build/BUILD/plplot-5.9.9/fedora/bindings/tcl >> >> ../../src/libplplotd.so.11.0.0: undefined reference to >> `agg::font_engine_freetype_base::hinting(bool)' >> .... >> ../../src/libplplotd.so.11.0.0: undefined reference to >> `plD_dispatch_init_tek4107f' >> >> From the build line for libplplotd.so.11.0.0: >> >> /usr/lib/ccache/c++ -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 >> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 >> -mtune=atom -fasynchronous-unwind-tables -shared >> -Wl,-soname,libplplotd.so.11 >> -o libplplotd.so.11.0.0 CMakeFiles/plplotd.dir/pdfutils.c.o >> CMakeFiles/plplotd.dir/plaffine.c.o CMakeFiles/plplotd.dir/plarc.c.o >> CMakeFiles/plplotd.dir/plargs.c.o CMakeFiles/plplotd.dir/plbox.c.o >> CMakeFiles/plplotd.dir/plcont.c.o CMakeFiles/plplotd.dir/plcore.c.o >> CMakeFiles/plplotd.dir/plctrl.c.o CMakeFiles/plplotd.dir/plcvt.c.o >> CMakeFiles/plplotd.dir/pldtik.c.o CMakeFiles/plplotd.dir/plf2ops.c.o >> CMakeFiles/plplotd.dir/plfill.c.o CMakeFiles/plplotd.dir/plfreetype.c.o >> CMakeFiles/plplotd.dir/plgradient.c.o CMakeFiles/plplotd.dir/plhist.c.o >> CMakeFiles/plplotd.dir/plimage.c.o CMakeFiles/plplotd.dir/plline.c.o >> CMakeFiles/plplotd.dir/plmap.c.o CMakeFiles/plplotd.dir/plot3d.c.o >> CMakeFiles/plplotd.dir/plpage.c.o CMakeFiles/plplotd.dir/plsdef.c.o >> CMakeFiles/plplotd.dir/plshade.c.o CMakeFiles/plplotd.dir/plstdio.c.o >> CMakeFiles/plplotd.dir/plstripc.c.o CMakeFiles/plplotd.dir/plsym.c.o >> CMakeFiles/plplotd.dir/pltick.c.o CMakeFiles/plplotd.dir/plvpor.c.o >> CMakeFiles/plplotd.dir/plwind.c.o CMakeFiles/plplotd.dir/plbuf.c.o >> CMakeFiles/plplotd.dir/plgridd.c.o CMakeFiles/plplotd.dir/plvect.c.o >> CMakeFiles/plplotd.dir/mt19937ar.c.o CMakeFiles/plplotd.dir/pltime.c.o >> CMakeFiles/plplotd.dir/pllegend.c.o >> CMakeFiles/plplotd.dir/__/drivers/cairo.c.o >> CMakeFiles/plplotd.dir/__/drivers/qt.cpp.o >> CMakeFiles/plplotd.dir/__/bindings/qt_gui/plqt.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/mem.c.o >> CMakeFiles/plplotd.dir/__/drivers/ntk.c.o >> CMakeFiles/plplotd.dir/__/drivers/null.c.o >> CMakeFiles/plplotd.dir/__/drivers/ps.c.o >> CMakeFiles/plplotd.dir/__/drivers/pstex.c.o >> CMakeFiles/plplotd.dir/__/drivers/psttf.cc.o >> CMakeFiles/plplotd.dir/__/drivers/svg.c.o >> CMakeFiles/plplotd.dir/__/drivers/tk.c.o >> CMakeFiles/plplotd.dir/__/bindings/tcl/tclAPI.c.o >> CMakeFiles/plplotd.dir/__/bindings/tcl/tclMain.c.o >> CMakeFiles/plplotd.dir/__/bindings/tk/Pltk_Init.c.o >> CMakeFiles/plplotd.dir/__/bindings/tk/plframe.c.o >> CMakeFiles/plplotd.dir/__/bindings/tk/plr.c.o >> CMakeFiles/plplotd.dir/__/bindings/tk/tcpip.c.o >> CMakeFiles/plplotd.dir/__/bindings/tk/tkMain.c.o >> CMakeFiles/plplotd.dir/__/bindings/tcl/tclMatrix.c.o >> CMakeFiles/plplotd.dir/__/bindings/tcl/matrixInit.c.o >> CMakeFiles/plplotd.dir/__/drivers/tkwin.c.o >> CMakeFiles/plplotd.dir/__/bindings/tk-x-plat/Plplotter_Init.c.o >> CMakeFiles/plplotd.dir/__/bindings/tk-x-plat/plplotter.c.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets_agg.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets_app.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets_dc.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets_gc.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/xfig.c.o >> CMakeFiles/plplotd.dir/__/drivers/xwin.c.o -pthread -lpangocairo-1.0 >> -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt >> -lglib-2.0 >> -lSM -lICE -lX11 -lXext -lSM -lICE -lX11 -lXext -lpthread -ltcl -ltk >> -litcl3.4 >> -litk3.4 -ltcl -ltk -ltcl -ltk -pthread -lLASi -lpangoft2-1.0 -lpango-1.0 >> -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt >> -lglib-2.0 -pthread -lwx_baseu-2.8 -lwx_gtk2u_core-2.8 -lQtSvg -lQtGui >> -lQtXml >> -lQtCore -lm ../lib/csa/libcsirocsa.so.0.0.1 ../lib/nn/libcsironn.so.0.0.1 >> ../lib/qsastime/libqsastime.so.0.0.1 -lfreetype -lpango-1.0 -lcairo >> -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lSM -lICE -lX11 >> -lXext -lpthread -ltcl -ltk -litcl3.4 -litk3.4 -lLASi -lpangoft2-1.0 >> -lfontconfig -lwx_baseu-2.8 -lwx_gtk2u_core-2.8 -lQtSvg -lQtGui -lQtXml >> -lQtCore -lm >> >> -Wl,-rpath,/builddir/build/BUILD/plplot-5.9.9/fedora/lib/csa:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/nn:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/qsastime: >> >> >> Now, why is >> 'CMakeFiles/plplotd.dir/__/drivers/wxwidgets_agg.cpp.oCMakeFiles/plplotd.dir/__/drivers/wxwidgets.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets_app.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets_dc.cpp.o >> CMakeFiles/plplotd.dir/__/drivers/wxwidgets_gc.cpp.o' getting put into >> libplplotd and not libplplotcxxd? So the other languages can output to wx* >> devices? It's not really a driver though, correct? I assume you are building with the cmake option -DENABLE_DYNDRIVERS=OFF. In that special case, the device drivers are not shared objects which are dynamically loaded by the libplplot as for the usual (default) case. Instead, for this special case all drivers (whether C or C++) are made part of the plplot library and called directly as needed as part of the services provided by that (expanded) library. wxwidgets*.cpp.o are all compiled objects which are part of the wxwidgets device driver. So the above seems fine to me. I have never particularly liked the necessity of mixing C and C++ code together in libplplot for this special case, but the driver code calls libplplot core functions and the libplplot core calls the device code so the driver code cannot be placed in separate libraries without getting circular linking issues. Fortunately, that is not an issue for the default dynamic device driver case where the various devices are linked to the plplot library (which helps to resolve all the symbols in each of the dynamic devices as confirmed by "ldd -r" on those shared objects) and dynamically loaded as needed by that library. 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); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); 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 __________________________ ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Plplot-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/plplot-devel
