mod_auth_pgsql for Apache22?

Larry Rosenman ler at lerctr.org
Thu Feb 23 04:06:17 PST 2006


Larry Rosenman wrote:
> Larry Rosenman wrote:
>> Larry Rosenman wrote:
>>> Larry Rosenman wrote:
>>>> Clement Laforet wrote:
>>>>> On Wed, Feb 22, 2006 at 03:23:15PM -0600, Larry Rosenman wrote:
>>>>>> USE_APACHE=     22
>>>>>> 
>>>>>> LATEST_LINK=    mod_auth_pgsql2
>>>>>> 
>>>>>> AP_INC?=        ${LOCALBASE}/include
>>>>>> Makefile: 33 lines, 826 characters # make ===>
>>>>>> mod_auth_pgsql-2.0.2b1_2 : Error from bsd.apache.mk. Illegal use
>>>>>> of USE_APACHE. *** Error code 1
>>>>>> 
>>>>>> Stop in /usr/ports/www/mod_auth_pgsql2.
>>>>>> #
>>>>>> 
>>>>>> nope. :(
>>>>> 
>>>>> Congrats! you find a bug in bsd.apache.mk :) I'll fix it ASAP.
>>>>> 
>>>>> To make the port work with apache 2.[012].x., USE_APACHE should be
>>>>> set to "20+". I don't have a tinderbox up so I can't test if it
>>>>> builds properly. Please ping me if you get it built, so I can
>>>>> update the port. 
>>>>> 
>>>>> clem
>>>> 
>>>> Well, I got a little further:
>>>> # vi Makefile
>>>> # New ports collection makefile for:    mod_auth_pgsql2
>>>> # Date created:                         Mon Oct  6
>>>> # Whom:                                 Clement Laforet
>>>> <sheepkiller at cultdeadshe ep.org>
>>>> #
>>>> # $FreeBSD: ports/www/mod_auth_pgsql2/Makefile,v 1.9 2005/12/04
>>>> 21:08:46 clement Exp $ 
>>>> 
>>>> PORTNAME=       mod_auth_pgsql
>>>> PORTVERSION=    2.0.2b1
>>>> PORTREVISION=   2
>>>> CATEGORIES=     www
>>>> MASTER_SITES=  
>>>> http://www.giuseppetanzilli.it/mod_auth_pgsql2/dist/ 
>>>> 
>>>> MAINTAINER=     apache at FreeBSD.org
>>>> COMMENT=        Allows users to use PostgreSQL databases for user
>>>> authentication 
>>>> 
>>>> USE_PGSQL=      yes
>>>> USE_APACHE=     20+
>>>> 
>>>> LATEST_LINK=    mod_auth_pgsql2
>>>> 
>>>> AP_INC?=        ${LOCALBASE}/include
>>>> Makefile: 33 lines, 827 characters
>>>> # make
>>>> => mod_auth_pgsql-2.0.2b1.tar.gz doesn't seem to exist in
>>>> /usr/ports/distfiles/. => Attempting to fetch from
>>>> http://www.giuseppetanzilli.it/mod_auth_pgsql2/dist/.
>>>> mod_auth_pgsql-2.0.2b1.tar.gz                 100% of   15 kB   34
>>>> kBps ===>  Extracting for mod_auth_pgsql-2.0.2b1_2 => MD5 Checksum
>>>> OK for mod_auth_pgsql-2.0.2b1.tar.gz.
>>>> => SHA256 Checksum OK for mod_auth_pgsql-2.0.2b1.tar.gz.
>>>> ===>  Patching for mod_auth_pgsql-2.0.2b1_2
>>>> ===>   mod_auth_pgsql-2.0.2b1_2 depends on file:
>>>> /usr/local/sbin/apxs - found ===>   mod_auth_pgsql-2.0.2b1_2
>>>> depends on file: /usr/local/sbin/apxs - found ===>
>>>> mod_auth_pgsql-2.0.2b1_2 depends on shared library: pq.4 - found
>>>> ===>  Configuring for mod_auth_pgsql-2.0.2b1_2 ===>  Building for
>>>> mod_auth_pgsql-2.0.2b1_2 ===>  Generating apache plist
>>>> /usr/local/build-1/libtool --silent --mode=compile cc -prefer-pic
>>>> -O2
>>>> -fno-strict-aliasing -pipe    -I/usr/local/include/apache22
>>>> -I/usr/local/include/apr-1   -I/usr/local/include/apr-1
>>>> -I/usr/local/include -I/usr/local/include -I/usr/local/include  -c
>>>> -o mod_auth_pgsql.lo mod_auth_pgsql.c && touch mod_auth_pgsql.slo
>>>> mod_auth_pgsql.c:91:24: apr_compat.h: No such file or directory
>>>> mod_auth_pgsql.c: In function `auth_pg_md5':
>>>> mod_auth_pgsql.c:452: error: `MD5_DIGESTSIZE' undeclared (first use
>>>> in this function) mod_auth_pgsql.c:452: error: (Each undeclared
>>>> identifier is reported only once mod_auth_pgsql.c:452: error: for
>>>> each function it appears in.) mod_auth_pgsql.c: In function
>>>> `do_pg_query': mod_auth_pgsql.c:634: warning: cast to pointer from
>>>> integer of different size mod_auth_pgsql.c: In function
>>>> `auth_pg_md5': mod_auth_pgsql.c:453: error: storage size of
>>>> `md5hash' isn't known apxs:Error: Command failed with rc=65536 .
>>>> *** Error code 1 
>>>> 
>>>> Stop in /usr/ports/www/mod_auth_pgsql2.
>>>> #
>>>> 
>>>> I can give you an account on this box, if that would help....
>>> 
>>> Ok, the MD5_DIGEST constant now has a APR_ in front of it, and the
>>> Apr_compat.h header is gone. 
>>> 
>>> I think there is a later version of mod_auth_pgsql2 that is
>>> release, not beta. 
>>> 
>>> This one compiled with the changes implied above:
>>> 
>>> 1) don't try to include apr_compat.h
>>> 2) s/MD5_DIGESTSIZE/APR_MD5_DIGESTSIZE/g
>>> 
>>> We still get the warning on line 634 about pointer<->int, but....
>>> 
>>> LER
>> 
>> It, however doesn't run:
>> # sh /usr/local/etc/rc.d/apache22.sh start Performing sanity check
>> on apache22 configuration: httpd: Syntax error on line 105 of
>> /usr/local/etc/apache22/httpd.conf: Cannot load
>> /usr/local/libexec/apache22/mod_auth_pgsql.so into server:
>> /usr/local/libexec/apache22/mod_auth_pgsql.so: Undefined symbol
>> "ap_palloc" Starting apache22.
>> httpd: Syntax error on line 105 of
>> /usr/local/etc/apache22/httpd.conf: Cannot load
>> /usr/local/libexec/apache22/mod_auth_pgsql.so into server:
>> /usr/local/libexec/apache22/mod_auth_pgsql.so: Undefined symbol
>> "ap_palloc" # 
>> 
>> More investigation needed.
>> 
>> My shell account offer stands :)
>> 
>> LER
> 
> This ones easy:
> 
> s/ap_palloc/apr_palloc/g

And the even better fix:

Update the version to 2.0.3
Make makesum

And it compiles out of the box (with the USE_APACHE=20+)

LER


-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 512-248-2683                 E-Mail: ler at lerctr.org
US Mail: 430 Valona Loop, Round Rock, TX 78681-3683 US



More information about the freebsd-apache mailing list