cvs commit: ports/databases/postgresql84-server Makefile
ports/databases/postgresql90-server Makefile
ports/databases/postgresql91-server Makefile
Chris Rees
crees at freebsd.org
Sun Sep 25 19:42:52 UTC 2011
On 25 September 2011 20:41, Chris Rees <crees at freebsd.org> wrote:
> On 25 September 2011 19:09, Eygene Ryabinkin <rea at freebsd.org> wrote:
>> rea 2011-09-25 18:09:06 UTC
>>
>> FreeBSD ports repository
>>
>> Modified files:
>> databases/postgresql84-server Makefile
>> databases/postgresql90-server Makefile
>> databases/postgresql91-server Makefile
>> Log:
>> PostgreSQL: unbreak GSSAPI support
>>
>> The problem with GSSAPI without Kerberos is that configure.in has
>> very funny logics of choosing GSSAPI libraries:
>> {{{
>> if test "$with_gssapi" = yes ; then
>> if test "$PORTNAME" != "win32"; then
>> AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
>> [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])])
>> else
>> LIBS="$LIBS -lgssapi32"
>> fi
>> fi
>> }}}
>>
>> This makes configure to happily choose -lgssapi_krb5 when the system
>> has Kerberos support (NO_KERBEROS is absent), but ld's '--as-needed'
>> will throw this library away when no Kerberos functions are used and
>> linker won't produce 'postgres' binary whining about unresolved
>> symbols:
>> {{{
>> cc -O2 -pipe -fno-strict-aliasing -Wall -Wmissing-prototypes \
>> -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels \
>> -fno-strict-aliasing -fwrapv -L../../src/port -L/usr/local/lib \
>> -rpath=/usr/lib:/usr/local/lib -L/usr/local/lib -L/usr/local/lib \
>> -Wl,--as-needed -Wl,-R'/usr/local/lib' -Wl,-export-dynamic \
>> [... a bunch of *.o files was stripped ...]
>> ../../src/timezone/pgtz.o ../../src/port/libpgport_srv.a -lintl -lssl \
>> -lcrypto -lgssapi_krb5 -lcrypt -lm -o postgres
>> libpq/auth.o: In function `pg_GSS_error':
>> auth.c:(.text+0x6e): undefined reference to `gss_display_status'
>> auth.c:(.text+0x8e): undefined reference to `gss_release_buffer'
>> auth.c:(.text+0xc5): undefined reference to `gss_display_status'
>> auth.c:(.text+0xe5): undefined reference to `gss_release_buffer'
>> libpq/auth.o: In function `ClientAuthentication':
>> auth.c:(.text+0x82d): undefined reference to `gss_delete_sec_context'
>> auth.c:(.text+0x941): undefined reference to `gss_accept_sec_context'
>> auth.c:(.text+0x9f1): undefined reference to `gss_release_buffer'
>> auth.c:(.text+0xaf3): undefined reference to `gss_release_cred'
>> auth.c:(.text+0xb10): undefined reference to `gss_display_name'
>> auth.c:(.text+0xbc8): undefined reference to `gss_release_buffer'
>> auth.c:(.text+0x10b0): undefined reference to `gss_release_buffer'
>> auth.c:(.text+0x111e): undefined reference to `gss_release_buffer'
>> libpq/pqcomm.o: In function `pq_close':
>> pqcomm.c:(.text+0x105a): undefined reference to `gss_delete_sec_context'
>> pqcomm.c:(.text+0x107d): undefined reference to `gss_release_cred'
>> gmake: *** [postgres] Error 1
>> }}}
>>
>> Also, ports for PostgreSQL 8.4 and 9.0 had their <bsd.port.pre.mk>
>> misplaced: OPTIONS came after it, so WITH_/WITHOUT_ knobs will not
>> be really activated.
>>
>> PR: 160050 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=160050
>> Feature safe: yes
>> Approved by: maintainer timeout (1 month)
>>
>> Revision Changes Path
>> 1.230 +8 -4 ports/databases/postgresql84-server/Makefile
>> 1.224 +8 -4 ports/databases/postgresql90-server/Makefile
>> 1.226 +7 -0 ports/databases/postgresql91-server/Makefile
>
> Oops, it looks like this is the INDEX-breaking commit.
>
> If you've discovered this already, sorry to nag.
>
Hah, shocking timing of mine. Never mind.
Chris
More information about the cvs-ports
mailing list