[OPEN-ILS-DEV] OpenSRF autotools support

Kevin Beswick kevinbeswick00 at gmail.com
Mon Jun 2 12:04:35 EDT 2008


On Sat, May 31, 2008 at 10:54 AM, Bill Erickson <erickson at esilibrary.com> wrote:
> Hi Kevin,
>
> I checked out a fresh copy of OpenSRF trunk and ran through the steps.  The
> only departure I made was to provide a new TMP directory.  The compilation
> fails when it can't find the OpenSRF header files.
>
> % aclocal
> % libtoolize --force
> % automake -a
> configure.ac: installing `./install-sh'
> configure.ac: installing `./missing'
> src/c-apps/Makefile.am: installing `./depcomp'
> src/libopensrf/Makefile.am: installing `./compile'
> Makefile.am: installing `./INSTALL'
> % automake
> % autoconf
> % PATH=$PATH:/usr/sbin ./configure --with-tmp_dir=/tmp/o1
> ...
> % make
> ...
> osrf_json_object.c:20:25: error: opensrf/log.h: No such file or directory
> ...
>
>
> I see a "-I/include/" in the compile line.  Does that need to be changed to a
> relative path (or an explicit path to /mypath/OpenSRF/trunk/include)?
>
Hi Bill,
Thanks for testing my patch.

I have not been able to re-create this problem (tested on Ubuntu 7.10,
Debian Etch). The includes are supposed to be passed in as an absolute
path using a variable $(abs_top_builddir) which is set by automake to
be the absolute path of the top build directory (/mypath/trunk in our
case). Not sure what is going wrong...

BUT in testing on Debian I have found some incompatibility:

>From src/gateway/Makefile.am
-----------------------
## Add a placeholder
if [ ! $$(grep mod_placeholder /etc/apache2/httpd.conf) ]; then \
         echo "#LoadModule mod_placeholder
/usr/lib/apache2/modules/mod_placeholder.so" \
                 >> /etc/apache2/httpd.conf; \
fi; \
cp .libs/libosrf_json_gateway.so osrf_json_gateway.so
$(APXS2) -i -a -n osrf_json_gateway osrf_json_gateway.so

------------------------
 This works in Ubuntu. But when I tested it in Debian, it gave me the
following error:

apxs:Error: Activation failed for custom /etc/apache2/httpd.conf file..
apxs:Error: At least one `LoadModule' directive already has to exist..

When I googled this, i found a link to the open-ils-dev mailing list
where someone had the same problem. I changed it from using the
"mod_placeholder.so" module, to using  "mod_xmlent.so" as per the
instructions on the mailing list, and it worked! But when I brought
that back to Ubuntu, I got the same error.
Not sure what I should do about this.

Also, in my patch I removed the check for python-dev, which is
required if you enable building the python parts, so that will give
you an error while making as well (if it wasn't installed).

Other than those two things, it seems to work on Debian Etch and Ubuntu 7.10

Kevin


More information about the Open-ils-dev mailing list