[Spread-users] mod_log_spread2 on Ubuntu Dapper

Matthew Gillen mgillen at bbn.com
Wed May 10 10:15:05 EDT 2006


tyko brown wrote:
> Hello!
> 
> I'm having some trouble getting mod_log_spread2 to work on Ubuntu Dapper. I'm almost there, but not quite :)
> ...
>  $ cd mod_log_spread2/
>  $ make
>  mod_log_spread.c:234:16: error: sp.h: No such file or directory
> 
> So I edit the Makefile, changing
>  $(APXS) -Wc,-Wall (etc.)
> to:
>  $(APXS) -I /usr/local/include/spread/ -Wc,-Wall (etc.)
> 
> It gets further, but now I get:
>  /usr/bin/ld: cannot find -ltspread

Just like you need to add -I for the includes, you need to add '-L' to specify
non-standard library locations (ie '-L /usr/local/lib/spread')

> The full output (yikes!) is:
> 
> /usr/bin/libtool --silent --mode=compile gcc -prefer-pic -pipe -I/usr/include/xmltok -I/usr/include/openssl -Wall -g -O2 -DAP_HAVE_DESIGNATED_INITIALIZER -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -pipe -I/usr/include/xmltok -I/usr/include/openssl -Wall -g -O2 -pthread -I/usr/include/apache2  -I/usr/include/apr-0   -I/usr/include/apr-0 -I/usr/include -Wall -Werror -g -DDEBUG -DMOD_LOG_SPREAD_VERSION=\"mod_log_spread/\" -I/usr/local/include/spread/  -c -o mod_log_spread.lo mod_log_spread.c && touch mod_log_spread.slo
> /usr/bin/libtool --silent --mode=link gcc -o mod_log_spread.la  -ltspread -rpath /usr/lib/apache2/modules -module -avoid-version    mod_log_spread.lo
> /usr/bin/ld: cannot find -ltspread
> collect2: ld returned 1 exit status
> apxs:Error: Command failed with rc=65536
> .
> make: *** [mod_log_spread.o] Error 1
> 
> So that looked worrying. I tried to use the libtool from libapr1.0-dev, after some coaxing (I had to add the --tag=CC option), it will at least compile. Unfortunately the module will not load, giving the error "undefined symbol: SP_connect"
> 
> Hopefully someone can help :) I'm out of my depth here :/

There are three things you can do.  The cheater way is to add
/usr/local/lib/spread to /etc/ld.so.conf, then run '/sbin/ldconfig'

The less intrusive way (to the rest of the system at least) is to figure out
how to add '-rpath /usr/local/lib/spread' to that libtool line (hint: look for
the existing -rpath option that uses /usr/lib/apache2/modules)

The final way is to write a shell script around apache that sets
LD_LIBRARY_PATH=/usr/local/lib/spread before executing.

Hope that helps,
Matt




More information about the Spread-users mailing list