Massimo, I can see more than two problems with the current setup - especially since the whole autoconf/automake is broken. Some time ago I proposed a different setup, also in order to port Rivet for Apache2 more effectively. My proposal is to split the distribution in 3 parts (or two parts): The Rivet/Tcl extension, the common TclWeb related things and the two modules for Apache1.x and Apache2.x. The question is, how appropriate it is to separate the Tclweb stuff (the files in src/ directly) from the modules... but I definitely think that the Rivet Tcl extension should evolve separately from the modules.
That would make the maintenance much easier - for the Rivet Tcl extension, the standard TEA platform can be utilized, as available through anonymous CVS from http://tcl.cvs.sourceforge.net/tcl/sampleextension/ For the modules, the apache/libtool stuff can be used, described e.g. in the tutorial here: http://threebit.net/tutorials/apache2_modules/tut1/tutorial1.html I think this makes it easier to ensure that the libs are correctly in place during install. It would require to start the configuration from scratch, and maybe to do a completely fresh svn import with the new setup. But then, it would at least be possible to continue the work on the Apache2.x port effectively and maintain the other things. So it's a single, relatively small step (since the current setup does not work anyway) with a big benefit. Eckhard Am Mittwoch, den 20.12.2006, 10:14 +0100 schrieb Massimo Manghi: > Thank you Eckhard, > > I expect mod_rivet to be able to load the libraries if they are > in /usr/lib. This is at least a general assumption on Debian/Linux > and, for what I know, on every other Unix-like os. > > I can see 2 problems with Rivet set up: > > 1) make install fails to actually copy the 2 libraries > (librivetparser.so,librivet.so) > in either /usr/lib or /usr/share/rivet0.7.0 (see src/Makefile.am): > > for instance, when 'make install' attempts to install librivetparser.so > > /usr/bin/install -c .libs/librivetparser.so /usr/lib > /usr/share/rivet0.7.0/librivetparser.so > /usr/bin/install: target `/usr/share/rivet0.7.0/librivetparser.so' is > not a directory > > the form of the command 'install' is actually wrong (install <options> > <source> <dest. dir>). > It seems that lib_libexecdir is used by configure in order to establish > the target > for 'install'. But this symbol is a 2 directory list (apache libs > directory + rivet libs directory) > > 2) if they're moved into /usr/lib manually apache fails with the same > reason. ldd output is > gershwin:~/Projects/rivet/1_0> ldd src/.libs/mod_rivet.so > linux-gate.so.1 => (0xffffe000) > libtcl8.4.so.0 => /usr/lib/libtcl8.4.so.0 (0xb7e93000) > libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e8f000) > libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d5e000) > libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7d39000) > libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7d27000) > libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7cf9000) > libdb-4.4.so => /usr/lib/libdb-4.4.so (0xb7bfd000) > libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7bdd000) > /lib/ld-linux.so.2 (0x80000000) > > I expect librivet and librivetparser to be listed there. > > -- Massimo > > Eckhard Lehmann wrote: > > > >> the question now is: where mod_rivet.so expects to find librivet.so and > >> librivetparser.so? /usr/lib didn't work and lib_libexecdir didn't > >> work either... the latter is evaluated as /usr/share/rivet0.7.0 > >> > > > > The libraries must be on LD_LIBRARY_PATH - including the Tcl package > > library (I think it's librivet.so). This should also be the library > > where Rivet_Init is defined. > > > > You can do a simple test with all the libraries that are generated in > > the rivet distribution: for every library, do > > nm <path/to/library> > > > > and look where Rivet_Init is defined. This one must be on the dynamic > > library load path (LD_LIBRARY_PATH or added through ldconfig). > > > > > > Eckhard > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
