poudriere - postgresql90-client, LDAP, requires ldap.h

Palle Girgensohn girgen at pingpong.net
Sun Apr 28 11:25:53 UTC 2013



28 apr 2013 kl. 10:37 skrev Chris Rees <crees at FreeBSD.org>:

> Please CC maintainers when you're asking about specific ports!
> On 28 April 2013 07:05, Scot Hetzel <swhetzel at gmail.com> wrote:
>> On Sat, Apr 27, 2013 at 4:32 PM, Florent Peterschmitt <
>> florent at peterschmitt.fr> wrote:
>> 
>>> Le 27/04/2013 23:13, Matthew Seaman a écrit :
>>>> On 27/04/2013 19:49, Florent Peterschmitt wrote:
>>>>> Hello,
>>>>> 
>>>>> I use the latest poudriere-devel to make my own pkg repository, and
>>>>> would like to build postgresql with LDAP support.
>>>>> 
>>>>> Since it's in a virgin jail, and because the log said « hey I need
>>>>> ldap.h », I understand that openldap should be installed but, is it the
>>>>> good way to do ? For each package requirement, it is needed to install
>>>>> it by hand ? (or with previously built packages :) )
>>>>> 
>>>> 
>>>> You should use the 'poudriere options' command to enable LDAP support in
>>>> the postgresql server.
>>> 
>>> Yep, I did that. Sorry, I missed to say I already have done this. The
>>> problem is that when building the package, the configure step fail
>>> saying ldap.h is missing.
>>> 
>>>> Now, when you use poudriere to build the postgresql package, it will
>>>> have LDAP client added as a requirement -- so poudriere will also build
>>>> you an LDAP package -- and when you go to install postgresql, ldap will
>>>> be installed as well as a dependency.
>>>> 
>>>>      Cheers,
>>>> 
>>>>      Matthew
>>>> 
>>> Yep. But how does work poudriere ? Because I have built postfix and
>>> dovecot2 with LDAP support and there was no problem. I think it's a
>>> problem from the port itself and not from poudriere, I should try in a
>>> new system (perhaps, a jail, without poudriere).
>>> 
>> 
>> The problem seems to be caused by the following from
>> databases/postgresql91-server/Makefile:
>> 
>> 66     .if !defined(CLIENT_ONLY) && !defined(SLAVE_ONLY)
>> 67     SERVER_ONLY= yes
>> 68     USE_RC_SUBR= postgresql
>> 69     USE_PGSQL= yes
>> 70     WANT_PGSQL_VER=
>> ${DISTVERSION:C/([0-9][0-9]*)\.([0-9][0-9]*).*/\1\2/g}
>> 71     USERS= ${PG_USER}
>> 72     GROUPS= ${PG_GROUP}
>> 73     SUB_FILES+= 502.pgsql
>> 74     .endif
>> 
>> 81     .if !defined(SLAVE_ONLY)
>> 82     OPTIONS_DEFINE+= NLS DTRACE PAM LDAP GSSAPI OPTIMIZED_CFLAGS XML
>> TZDATA DEBUG KRB5
>> 83     OPTIONS_SINGLE= KRB5
>> 84     OPTIONS_SINGLE_KRB5= MIT_KRB5 HEIMDAL_KRB5
>> :
>> 112     OPTIONS_DEFAULT= NLS XML TZDATA INTDATE SSL
>> 113     .endif # !SLAVE_ONLY
>> 
>> 159     . if ${PORT_OPTIONS:MLDAP}
>> 160     CONFIGURE_ARGS+=--with-ldap
>> 161     . if defined (SERVER_ONLY)
>> 162     USE_OPENLDAP= yes
>> 163     . endif
>> 164     . endif
>> 
>> NOTE: postgresql90-client/Makefile includes postgresql90-server/Makefile
>> which then includes postgresql91-server/Makefile
>> 
>> Unfortunately, you can't set USE_OPENLDAP as a build depends.  Try
>> commenting out lines 161 and 163 in the postgresql91-server/Makefile.  This
>> will add OpenLDAP as a LIB_DEPENDS to the postgresql*-client ports.
>> 
> 
> Actually,
> 
> [crees at medusa]~% psql
> Shared object "libldap_r-2.4.so.8" not found, required by "libpq.so.5"
> [crees at medusa]~%
> 
> LDAP is indeed a LIB_DEPENDS.
> 
> Palle, Jason, if you don't object I'm going to add || defined
> (CLIENT_ONLY) to line 161 above.
> 
> Chris

It seems strange to me that psql should require libldap? That seems like a bug, or am I missing something? Why would the client side of the connection need to use ldap?


More information about the freebsd-ports mailing list