|
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)
|