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]

Reply via email to