[OPEN-ILS-DEV] libmemcached

Scott McKellar mck9 at swbell.net
Mon Dec 14 12:06:32 EST 2009


The introduction of libmemcached broke my build, and I haven't figured
out how to fix it.

When I first tried to compile the new version of osrf_cache.c, the
compiler couldn't find the header file memcached.h.  Adept, the
package manager for my Ubuntu Hardy, didn't know about any packages
named libmemcached or libmemcached-dev, but I managed to get past
the compile by doing the following steps from the OSRF trunk directory, approximating a reinstall from scratch:

   .autogen.sh
   make -f src/extras/Makefile.install ubuntu-hardy

Apparently that installed the header file in the expected place.
Now I could do a .configure, a make, and a sudo make install without
obvious problems, both for OSRF and for Evergreen.

However when I tried to start up the services, I got the following
message:

   opensrf_router: error while loading shared libraries:
   libmemcached.so.3: cannot open shared object file:
   No such file or directory

I did a find, and sure enough there was no file by that name in the
entire file system.  (In retrospect when I copy-and-pasted the file name
into the find command I may have neglected to remove the colon, which
would account for the failure of the find.  I can't reconstruct that
now.) 

I went into trunk/libmemcached-0.35 and did a ./configure, a make, and a
sudo make install.  Now there's a libmemcached.so.3 in /usr/local/lib,
linked to libmemcached.so.3.0.0 and marked as executable by all, but
the router still can't find it, even after another round of make and
make install for both OSRF and Evergreen.

What am I missing?  Are the install scripts doing everything they need
to do for libmemcached?

Scott McKellar



More information about the Open-ils-dev mailing list