From: Alan W. I. <ir...@be...> - 2002-12-03 10:40:25
|
The merge of AT to MAIN has been completed so welcome to the new Unix/Linux configuration era for PLplot! There are also consequences for Windows, etc. users, see note at the end. Thanks to a suggestion from Maurice I was able to work around the current problems with state in the repository (although those problems still need to be fixed). The merge was completed with no conflicts, the diff between the old MAIN branch and the merged local tree looked good (with only the expected changes) so I committed the result. Two of the files (COPYING and configure.in) could not be retrieved afterward using a fresh checkout, but it turned out those had been deleted long ago (the commit message this time mentioned they were being put in the Attic) so essentially those names are unusable for the MAIN branch. COPYING is not really needed since it is replaced anyway by one of the procedures in bootstrap.sh. configure.in is a much more serious manner, but fortunately autoconf (inside bootstrap.sh) accepts a more modern name for the file, configure.ac, so that is what I checked in. Interestingly, with the different name autoconf works differently with more extensive warning messages. But the built result is the same. I checked out a fresh copy and used the following recipe to produce identical postscript files to before: (IMPORTANT NOTE: I used autoconf-2.53, automake-1.5, and libtool-1.4.2. Probably you should stick with these versions or later.) ./bootstrap.sh Note, after bootstrap, you should be able to just pack up your whole tree in a tarball, take it to any Unix platform, and do the remaining steps on that platform. (I think that brute-force approach is preferable to using "make dist" since that command depends on keeping track of all the extra non-standard files that should be in the tarball. See the various EXTRA_DIST lines I have put in the Makefile.am files. I maintained that for a while, but it got to be a pain so I let it slide.) Anyhow, I strongly encourage all the developers who have access to alternative platforms to give PLplot a try there once they get it working on Linux. ./configure --prefix=wherever --enable-dyndrivers make make install cd wherever/lib/plplot5.1.0/examples/c make -f Makefile.examples cd ../c++ make -f Makefile.examples cd ../f77 make -f Makefile.examples cd ../tk make -f Makefile.examples cd .. ./plplot-test.sh Also, the recipes in examples/tcl/README.tcldemos and examples/tk/README.tkdemos should work as well. All drivers seem to work as plug-ins (i.e. as dynamic drivers) except for the tk driver problem I mentioned before: ./x10c -dev tk TCL command "plclient_init" failed: invalid command name "plclient_init" TCL command "plclient_link_end" failed: invalid command name "plclient_link_end" Segmentation fault This one has me stumped, and I leave it to the tcl experts to figure out why the tk driver can no longer find plclient.tcl. The next priority for me is to get octave under autotools control, then do the static drivers. For a while there I thought I would be stuck in AT limbo forever so it is great to be working on the MAIN branch again! Notes for Unix users. * The basic configuration changes are in the various Makefile.am files. automake and libtool have a very simple syntax which doesn't take that long to learn so I strongly suggest you just dive in if you find any glitches. info autconf, info automake, and info libtool are your friends. am_conditionals just make life very easy compared to the autoconf-only system we had before. * plplot/cf is not used at all any more, but we should keep it around for a while for reference. * Most changes to source code consisted of a change from PLPLOT_VERSION to VERSION wherever that occurred, and a change of the #include style to drop the "plplot/". The one really important change I can remember to source is in the plcore.c file where the old dlopen procedure was replaced with a cross-platform friendly libltdl approach. * The largest practical change you will notice (Joao has already commented) is no additional "flat" plplot/tmp install area is supported at this time. After we get some experience with autotools we conceivably could decide to bring that back. Alternatively, there may be a way within the automake and libtool paradigm to make it very easy to build and test particular results that you are developing. I just don't know the answer to such "style-of-working" questions at the moment, but I am sure we will find out through experience and asking such groups as the KDE developers how they use autotools during their development cycles. Note for non-Unix users. You will be affected by the change in the #include style. Also, my understanding is that the configure scripts generated by autotools might just work on some of the non-unix platforms. So it will be worth your while to look up your platform in a google search on the net for autotools to see where you stand. Alan email: ir...@be... phone: 250-727-2902 FAX: 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 __________________________ |