From owner-freebsd-ports@FreeBSD.ORG Sun Apr 28 14:07:44 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BA5EC9BF; Sun, 28 Apr 2013 14:07:44 +0000 (UTC) (envelope-from swhetzel@gmail.com) Received: from mail-ia0-x22a.google.com (mail-ia0-x22a.google.com [IPv6:2607:f8b0:4001:c02::22a]) by mx1.freebsd.org (Postfix) with ESMTP id 79E2516E0; Sun, 28 Apr 2013 14:07:44 +0000 (UTC) Received: by mail-ia0-f170.google.com with SMTP id k20so1887878iak.29 for ; Sun, 28 Apr 2013 07:07:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=k4X5yealqeGxTRSMJD6kUjCYThHVFcK38NZ29HS3Q68=; b=sAHhmBX5LqZiC49OpZVgUOPeY/a7wGmVKlaGbx0XSZLYemPi+hzzptEPTp15FEZDMT VCqZZCo+z7R7rt/xacFgtG37f+uUXikJT82fiHmHEo4XhIS69knk9Rf2ZtAguH+v5kel nTJ1lGCTsMfNvaqe6aCs/iRx9Y+4IpdRFVs53Z0XLQSdckTWXd9H6GIeUxnYgw4hv9s9 29+KwzHUH4WjngaAmMub8KWciwCcsLO6O9vNTFiGUVODtBvWRyEV/5uRU0Xt53Cc3AnF 1aGNfTJCQdOKpiPqkQUX2c4U0FG22ZIHSxEmOy0tNR05zI+KRxX7Mbdu3d5+uuz99fHp 8MEw== MIME-Version: 1.0 X-Received: by 10.50.73.133 with SMTP id l5mr530051igv.108.1367158064070; Sun, 28 Apr 2013 07:07:44 -0700 (PDT) Received: by 10.50.57.84 with HTTP; Sun, 28 Apr 2013 07:07:43 -0700 (PDT) In-Reply-To: References: <517C1DCE.2050603@peterschmitt.fr> <517C3F8F.2080602@FreeBSD.org> <517C43E6.4080907@peterschmitt.fr> Date: Sun, 28 Apr 2013 09:07:43 -0500 Message-ID: Subject: Re: poudriere - postgresql90-client, LDAP, requires ldap.h From: Scot Hetzel To: Palle Girgensohn Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: Chris Rees , "pgsql@freebsd.org" , FreeBSD Ports , Florent Peterschmitt X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Apr 2013 14:07:44 -0000 On Sun, Apr 28, 2013 at 6:25 AM, Palle Girgensohn wrot= e: > > > 28 apr 2013 kl. 10:37 skrev Chris Rees : > > > Please CC maintainers when you're asking about specific ports! > > On 28 April 2013 07:05, Scot Hetzel wrote: > >> On Sat, Apr 27, 2013 at 4:32 PM, Florent Peterschmitt < > >> florent@peterschmitt.fr> wrote: > >> > >>> Le 27/04/2013 23:13, Matthew Seaman a =E9crit : > >>>> 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 =AB hey I nee= d > >>>>> ldap.h =BB, 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 suppor= t > 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=3D yes > >> 68 USE_RC_SUBR=3D postgresql > >> 69 USE_PGSQL=3D yes > >> 70 WANT_PGSQL_VER=3D > >> ${DISTVERSION:C/([0-9][0-9]*)\.([0-9][0-9]*).*/\1\2/g} > >> 71 USERS=3D ${PG_USER} > >> 72 GROUPS=3D ${PG_GROUP} > >> 73 SUB_FILES+=3D 502.pgsql > >> 74 .endif > >> > >> 81 .if !defined(SLAVE_ONLY) > >> 82 OPTIONS_DEFINE+=3D NLS DTRACE PAM LDAP GSSAPI OPTIMIZED_CFLAGS = XML > >> TZDATA DEBUG KRB5 > >> 83 OPTIONS_SINGLE=3D KRB5 > >> 84 OPTIONS_SINGLE_KRB5=3D MIT_KRB5 HEIMDAL_KRB5 > >> : > >> 112 OPTIONS_DEFAULT=3D NLS XML TZDATA INTDATE SSL > >> 113 .endif # !SLAVE_ONLY > >> > >> 159 . if ${PORT_OPTIONS:MLDAP} > >> 160 CONFIGURE_ARGS+=3D--with-ldap > >> 161 . if defined (SERVER_ONLY) > >> 162 USE_OPENLDAP=3D yes > >> 163 . endif > >> 164 . endif > >> > >> NOTE: postgresql90-client/Makefile includes postgresql90-server/Makefi= le > >> 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@medusa]~% psql > > Shared object "libldap_r-2.4.so.8" not found, required by "libpq.so.5" > > [crees@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 connecti= on > need to use ldap? Since the postgresql*-client ports install the below files: bin/clusterdb bin/createdb bin/createlang bin/createuser bin/dropdb bin/droplang bin/dropuser bin/ecpg bin/pg_config bin/pg_dump bin/pg_dumpall bin/pg_restore bin/psql bin/reindexdb bin/vacuumdb lib/libecpg.so.6 lib/libecpg_compat.so.3 lib/libpgtypes.so.3 lib/libpq.so.5 We'll need someone to check with ldd to see if they require any of the ldap libraries after commenting out lines 161 and 163. If they don't require LDAP, then we just need to remove LDAP from line 82, and add the below between line 82 and 83: .if defined (SERVER_ONLY) OPTIONS_DEFINE+=3D LDAP .endif Then move line 161 to before line 159. --=20 DISCLAIMER: No electrons were maimed while sending this message. Only slightly bruised.