On Sun, Apr 28, 2013 at 9:16 AM, Chris Rees <cr...@freebsd.org> wrote:
> On 28 April 2013 15:07, Scot Hetzel <swhet...@gmail.com> wrote: > > On Sun, Apr 28, 2013 at 6:25 AM, Palle Girgensohn <gir...@pingpong.net> > > wrote: > >> 28 apr 2013 kl. 10:37 skrev Chris Rees <cr...@freebsd.org>: > >> > >> > Please CC maintainers when you're asking about specific ports! > >> > On 28 April 2013 07:05, Scot Hetzel <swhet...@gmail.com> wrote: > >> >> On Sat, Apr 27, 2013 at 4:32 PM, Florent Peterschmitt < > >> >> flor...@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@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 > connection > >> 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+= LDAP > > .endif > > > > Then move line 161 to before line 159. > > Ohononono, you can't just set different OPTIONS for each port, that > makes them stomp over the saved ones for each variant-- I got bitten > by that before. The simpler solution would be to ignore the setting > for LDAP for anything !server. > > It shouldn't be a problem unless both the postgresql*-server and postgresql*-client are using the same OPTIONSFILE. What does make -V OPTIONSFILE display in databases/postgresql*-client and databases/postgresql*-server? -- DISCLAIMER: No electrons were maimed while sending this message. Only slightly bruised. _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"