From: Maurice L. <mj...@ga...> - 2002-12-22 19:50:30
|
Getting started: I built & installed tcl, tk, itcl, BLT, into a new directory ~/tools to be used as prefix for these tests. Then made a tar copy of it in its pristine state so I could blow it away and start fresh as needed. Fresh checkout of plplot from HEAD. Note I have little prior experience with AM/LT and am just trying to follow the prescription and otherwise figure things out as I go along. I'm currently stumped (see 3b) so please see that first then look at the rest at your leisure. 1. Running bootstrap. Ran into problems with my existing versions of autoconf, automake, and libtool. They were all versions at or beyond what was given in http://sourceforge.net/mailarchive/forum.php?thread_id=1375571&forum_id=2199, but apparently not sufficiently in sync with each other. But that's a problem for lots of packages (certain versions of itcl only working with certain versions of tcl, etc). The first time I got: ged$ ./bootstrap.sh aclocal: configure.ac: 474: macro `AM_PATH_PYTHON' not found in library and after upgrading automake, then: ged$ ./bootstrap.sh aclocal: configure.ac: 430: macro `AM_PROG_LIBTOOL' not found in library So I upgraded to all the latest stable versions: autoconf-2.57.tar.gz automake-1.7.tar.gz libtool-1.4.3.tar.gz and finally got through a bootstrap.sh OK, albeit with the following messages: ged$ ./bootstrap.sh WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' WARNING: and `config.h.top', to define templates for `config.h.in' WARNING: is deprecated and discouraged. WARNING: Using the third argument of `AC_DEFINE' and WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without WARNING: `acconfig.h': WARNING: AC_DEFINE([NEED_MAIN], 1, WARNING: [Define if a function `main' is needed.]) WARNING: More sophisticated templates can also be produced, see the WARNING: documentation. 2. configuration issues. a) (OLD PROBLEM) Get this under newer versions of autoconf: checking itclDecls.h usability... no checking itclDecls.h presence... yes configure: WARNING: itclDecls.h: present but cannot be compiled configure: WARNING: itclDecls.h: check for missing prerequisite headers? configure: WARNING: itclDecls.h: proceeding with the preprocessor's result configure: WARNING: ## ------------------------------------ ## configure: WARNING: ## Report this to bug...@gn.... ## configure: WARNING: ## ------------------------------------ ## b) (OLD PROBLEM) checking for tclInt.h... no warning: can't find tclInt.h, setting enable_tkwin to no c) (OLD PROBLEM) This is wrong, since I do have libvga: checking for libvga... no warning: can't find libvga, setting enable_linuxvga to no d) (NEW PROBLEM) Problem finding vfork.h: checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no e) (NEW PROBLEM) It doesn't find my KAI C++ compiler: CXX: g++ My code to do this was previously in cf/sysconf.in, which doesn't appear to be used any more. Explanation? Just curious, I should be able to suck in that code by trial and error. 3. The build. a) Went mostly well but it sure is busy! I previously had code to eliminate redundant -I options but unfortunately that's not there any more, making the build a lot less clean looking (i.e. harder to see what's going on). E.g. in this case the compile has 1 redundant -I../../include and 2 redundant -I/home/mjl/tools/include. gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../libltdl -I/home/mjl/tools/include -I/home/mjl/tools/include -I/home/mjl/tools/include -g -O2 -MT tkMain.lo -MD -MP -MF .deps/tkMain.Tpo -c ../tk/tkMain.c -o tkMain.o >/dev/null 2>&1 The link also would have redundant -L options, but it looks like libtool is filtering them out. b) Problem building libplplottcltk: /bin/sh ../../libtool --mode=link gcc -g -O2 -o libplplottcltk.la -rpath /home/mjl/tools/lib -version-info 6:0:1 -rpath /home/mjl/tools/lib -no-undefined -L /home/mjl/tools/lib -ltcl8.3 -L /home/mjl/tools/lib -litcl3.2 -L /home/mjl/tools/lib -litk3.2 -L /home/mjl/tools/lib -ltk8.3 -L../../src -lplplot -L. -ltclmatrix tclAPI.lo tclMain.lo Pltk_Init.lo plframe.lo plr.lo tcpip.lo tkMain.lo rm -fr .libs/libplplottcltk.la .libs/libplplottcltk.* .libs/libplplottcltk.* gcc -shared tclAPI.lo tclMain.lo Pltk_Init.lo plframe.lo plr.lo tcpip.lo tkMain.lo -Wl,--rpath -Wl,/home/mjl/dev/plplot/latest/src/.libs -Wl,--rpath -Wl,/home/mjl/dev/plplot/latest/bindings/tcl/.libs -Wl,--rpath -Wl,/home/mjl/tools/lib -L/home/mjl/dev/plplot/latest/bindings/tcl -ltcl8.3 -litcl3.2 -litk3.2 -ltk8.3 -L/home/mjl/dev/plplot/latest/src /home/mjl/dev/plplot/latest/src/.libs/libplplot.so /home/mjl/dev/plplot/latest/bindings/tcl/.libs/libtclmatrix.so -Wl,-soname -Wl,libplplottcltk.so.5 -o .libs/libplplottcltk.so.5.1.0 /usr/bin/ld: cannot find -litcl3.2 collect2: ld returned 1 exit status make[2]: *** [libplplottcltk.la] Error 1 Here the problem is that the -L /home/mjl/tools/lib wasn't emitted from libtool, but I have no idea why. c) What's the deal with all the weird suffices? .lo .la .lai -- Maurice LeBrun mj...@ga... Research Organization for Information Science and Technology of Japan (RIST) |