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