From: Maurice L. <mj...@ga...> - 2002-07-24 03:50:36
|
Alan W. Irwin writes: > I have just committed my changes to split out the pltcl library and I > also greatly simplified the linking flags. The old model for linking flags > was to "throw in everything but the kitchen sink until the sucker worked". > The new model is to attempt to link just what is required and nothing more. > > With the new model, applications only link libplplot (which is quite > convenient); libplplot only links libpltcl, the normal list of dynamic > drivers, and libg2c (the library required in Linux for fortran); and finally > libpltcl links the tcl, itcl, tk, itk, xwin, libtclmatrix, and the special > dynamic drivers. > > These changes have been tested (my usual interactive and non-interactive > tests) in the plplot/tmp location and also in an arbitrary location with the > result installed with prefix = /usr/local/plplot. I used the configure > options --with-double --enable-dyndrivers --enable-java --enable-gnome > --enable-ntk --enable-tkwin > ... > I believe the current scheme will work also for --disable-dyndrivers. The > idea there is the special drivers get absorbed into libpltcl and the rest > get absorbed into libplplot. But I haven't tested this at all. At least one problem so far. If enable_png or enable_jpeg are set, nothing links because the -lgd flag is nowhere to be found. Here's my output: cd shared; \ gcc -shared -fPIC -o ../libplplot.so.5.1.0 \ -Wl,-soname -Wl,libplplot.so.5 \ pdfutils.o plargs.o plbox.o plbuf.o plcont.o plcore.o plctrl.o plcvt.o pldtik.o plfill.o plhist.o plline.o plmap.o plot3d.o plpage.o plsdef.o plshade.o plsym.o pltick.o plvpor.o plwind.o plstripc.o plimage.o plmeta.o null.o gd.o ps.o tk.o pbm.o pstex.o -L.. -ltclmatrix -lpltcl ln -sf libplplot.so.5.1.0 libplplot.so.5 ln -sf libplplot.so.5 libplplot.so gcc -g plrender.o -L. -lplplot -o plrender \ -Wl,-rpath -Wl,/home/mjl/dev/plplot/latest/tmp ./libplplot.so: undefined reference to `gdImageColorAllocate' ./libplplot.so: undefined reference to `gdImageColorDeallocate' ./libplplot.so: undefined reference to `gdImageDestroy' ./libplplot.so: undefined reference to `gdImageLine' ./libplplot.so: undefined reference to `gdImagePng' ./libplplot.so: undefined reference to `gdImageJpeg' ./libplplot.so: undefined reference to `gdImageCreate' ./libplplot.so: undefined reference to `gdImageFilledPolygon' collect2: ld returned 1 exit status make: *** [plrender] Error 1 and ditto for x01c, etc. I suppose it's an easy fix but I don't see it. Since you did the change maybe you'll find it quicker than I.. Will let you know if any other problems arise. -- Maurice LeBrun mj...@ga... Research Organization for Information Science and Technology of Japan (RIST) |