Bug 87728 - mozilla: libnegotiateauth.so broken
Summary: mozilla: libnegotiateauth.so broken
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-20 16:00 UTC by Mark Andrews
Modified: 2006-03-27 00:59 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Andrews 2005-10-20 16:00:32 UTC
	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.
Comment 1 Tilman Keskinoz freebsd_committer freebsd_triage 2006-01-02 18:43:23 UTC
Responsible Changed
From-To: freebsd-bugs->gnome

Refile under ports 
Assign to port maintainers
Comment 2 Boris B.Samorodov 2006-01-16 19:37:20 UTC
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
Comment 3 Joe Marcus Clarke freebsd_committer freebsd_triage 2006-03-27 00:59:09 UTC
State Changed
From-To: open->closed

Patch removed, thanks!