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

Chris Rees crees at FreeBSD.org
Sun Apr 28 08:38:04 UTC 2013


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


More information about the freebsd-ports mailing list