tag 521964 +patch thanks Hi, this problem is due to the fact that the module uses the up-to-date APR calls only if the APR_VERSION is 1.2.2, since we are using a version which is newer than this the module belives that it is older (because it is 1.2.2) and it uses the old API.
Removing the checking will fix the package for debian, a better thing would be to have a configure script, but that looks like an upstream bug. A patch that fixes the problem is attached. Cheers Antonio
--- a/mod_lisp.c +++ b/mod_lisp.c @@ -154,12 +154,6 @@ #include <string.h> module AP_MODULE_DECLARE_DATA lisp_module; -/* Work out the version of the apache portable runtime (APR) we're - * compiling against... with version 1.2.2 some of the interfaces - * changed a bit. */ -#if (APR_MAJOR_VERSION==1 && APR_MINOR_VERSION==2 && APR_PATCH_VERSION>=2) -#define HAVE_APR_1_2_2 1 -#endif #define RELAY_ERROR(expr) do \ @@ -382,17 +376,9 @@ (apr_sockaddr_info_get ((&addr), (cfg->server_address), APR_UNSPEC, (cfg->server_port), 0, socket_pool)); -#if (HAVE_APR_1_2_2) RELAY_ERROR (apr_socket_create ((&socket), AF_INET, SOCK_STREAM, APR_PROTO_TCP, socket_pool)); -#else - RELAY_ERROR (apr_socket_create ((&socket), AF_INET, SOCK_STREAM, socket_pool)); -#endif -#if (HAVE_APR_1_2_2) RELAY_ERROR (apr_socket_connect (socket, addr)); -#else - RELAY_ERROR (apr_connect (socket, addr)); -#endif { input_buffer_t * buffer = (apr_palloc (socket_pool, (sizeof (input_buffer_t)))); @@ -425,11 +411,7 @@ while (1) { apr_size_t n2 = n1; -#if (HAVE_APR_1_2_2) RELAY_ERROR (apr_socket_send (socket, p, (&n2))); -#else - RELAY_ERROR (apr_send (socket, p, &n2)); -#endif if (n2 == n1) return (APR_SUCCESS); p += n2; @@ -487,15 +469,9 @@ apr_size_t length; RELAY_ERROR (get_input_buffer (socket, (&buffer))); -#if (HAVE_APR_1_2_2) RELAY_ERROR (((length = (sizeof (buffer->data))), (apr_socket_recv (socket, (buffer->data), (&length))))); -#else - RELAY_ERROR - (((length = (sizeof (buffer->data))), - (apr_recv (socket, (buffer->data), (&length))))); -#endif (buffer->start) = (buffer->data); (buffer->end) = ((buffer->data) + length); if (length == 0)