poudriere - postgresql90-client, LDAP, requires ldap.h
Chris Rees
crees at FreeBSD.org
Sun Apr 28 14:03:58 UTC 2013
On 28 April 2013 12:25, Palle Girgensohn <girgen at pingpong.net> wrote:
> 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?
I'm not sure, it may be a question for upstream. I'll ask the guys in
IRC if they know.
Chris
More information about the freebsd-ports
mailing list