The patch for extensions/negotiateauth/Makefile.in incorrectly defines EXTRA_DSO_LDOPTS after ifneq (,$(GSSAPI_LIBS)) which attempts to add the GSSAPI_LIBS. Fix: Remove the final definition of EXTRA_DSO_LDOPTS and move $(MOZ_COMPONENT_LIBS) back where it initially was. Also a -R${KRB5_HOME}/lib needs to be added. Not included here as it should be added to GSSAPI_LIBS. [I'm doing a test build against the heimdal code. It needs the same changes as well as changes to /usr/include/gssapi.h http://www.freebsd.org/cgi/query-pr.cgi?pr=87726 to get it to link.] EXTRA_DSO_LDOPTS = \ $(MOZ_COMPONENT_LIBS) \ $(NULL) ifneq (,$(GSSAPI_LIBS)) LOCAL_INCLUDES = -DUSE_GSSAPI $(GSSAPI_INCLUDES) EXTRA_DSO_LDOPTS += $(GSSAPI_LIBS) CPPSRCS += nsNegotiateAuthGSSAPI.cpp # Do not set EXPORT_LIBRARY as we do not want negotiateauth in the static # libs list #EXPORT_LIBRARY = 1 # make sure this component is never statically linked into the main # application. this is necessary since we don't want to force users # to install GSSAPI libraries in order to use the rest of mozilla ;-) FORCE_SHARED_LIB = 1 endif ldd on the resulting library should look like similar to this. % ldd /usr/X11R6/lib/mozilla/components/libnegotiateauth.so /usr/X11R6/lib/mozilla/components/libnegotiateauth.so: libxpcom.so => not found (0x0) libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28114000) libplds4.so => /usr/local/lib/libplds4.so (0x28201000) libplc4.so => /usr/local/lib/libplc4.so (0x28228000) libnspr4.so => /usr/local/lib/libnspr4.so (0x28251000) libgssapi_krb5.so => /usr/local/krb5/lib/libgssapi_krb5.so (0x28282000) libstdc++.so.3 => /usr/lib/libstdc++.so.3 (0x2829f000) libm.so.2 => /usr/lib/libm.so.2 (0x282e4000) libkrb5.so => /usr/local/krb5/lib/libkrb5.so (0x282ff000) libk5crypto.so => /usr/local/krb5/lib/libk5crypto.so (0x28376000) libcom_err.so => /usr/local/krb5/lib/libcom_err.so (0x2839b000) libkrb5support.so => /usr/local/krb5/lib/libkrb5support.so (0x283a0000) % How-To-Repeat: Fix www/mozilla to use ${KRB5_HOME} and attempt to build libnegotiateauth.so using krb5-1.4.1_1. (need to move /usr/include/gssapi.h sideways if it exists so that configure detects krb5 and not the heimdal code). Note the undefined references to the gssapi code.
Responsible Changed From-To: freebsd-bugs->gnome Refile under ports Assign to port maintainers
Hi! Confirm that libnegotiateauth is broken. It's broken by www/mozilla/files/patch-extensions_negotiateauth_Makefile.in. Just removing this files and compiling/installing with default config (i.e. no make options) results in a success: $ ldd /usr/X11R6/lib/mozilla/components/libnegotiateauth.so /usr/X11R6/lib/mozilla/components/libnegotiateauth.so: libxpcom.so => /usr/X11R6/lib/mozilla/libxpcom.so (0x28155000) libplds4.so.1 => /usr/local/lib/libplds4.so.1 (0x28267000) libplc4.so.1 => /usr/local/lib/libplc4.so.1 (0x2828e000) libnspr4.so.1 => /usr/local/lib/libnspr4.so.1 (0x282b6000) libgssapi.so.8 => /usr/lib/libgssapi.so.8 (0x282e6000) libkrb5.so.8 => /usr/lib/libkrb5.so.8 (0x282f4000) libasn1.so.8 => /usr/lib/libasn1.so.8 (0x28328000) libcrypto.so.4 => /lib/libcrypto.so.4 (0x28349000) libroken.so.8 => /usr/lib/libroken.so.8 (0x2843b000) libcrypt.so.3 => /lib/libcrypt.so.3 (0x28447000) libcom_err.so.3 => /usr/lib/libcom_err.so.3 (0x2845f000) libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28461000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x2854e000) libm.so.4 => /lib/libm.so.4 (0x28618000) Hence, I can successfully browse with GSSAPI/SPNEGO auth. $ uname -a FreeBSD srv.sem.ipt.ru 6.0-STABLE FreeBSD 6.0-STABLE #0: Fri Jan 6 02:13:35 MSK 2006 bsam@srv.sem.ipt.ru:/usr/obj/usr/src/sys/SRV i386 $ cat /etc/make.conf NO_ATM= NO_FORTRAN= NO_GAMES= NO_I4B= NO_INET6= NO_MODULES= NO_SENDMAIL= NO_BIND= MODULES_WITH_WORLD= BOOTWAIT=1000 MASTER_SITE_BACKUP?= [skipped] MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP} KERNCONF?= SRV ### ### Ports section ### X_WINDOW_SYSTEM= xorg WITH_BDB_VER?= 43 #USE_OPENLDAP= WANT_OPENLDAP_VER= 23 WANT_OPENLDAP_SASL= HEIMDAL_HOME= /usr # added by use.perl 2006-01-06 13:18:28 PERL_VER=5.8.7 PERL_VERSION=5.8.7 WBR -- Boris B. Samorodov, Research Engineer InPharmTech Co, http://www.ipt.ru Telephone & Internet Service Provider
State Changed From-To: open->closed Patch removed, thanks!