Print

Print


On Mon, Jan 09, 2012 at 03:26:17PM +0200, Kalle Happonen wrote:
> Hello all,
> I have been playing around a bit with Moonshot mainly to get some idea
> how it works. I have a working ssh setup, and I managed to compile an
> Apache mod_auth_kerb module too (although the test http_client always
> segfaults for some reason). Now, I thought I'd try to compile the
> Firefox module to test if it would work with that.
> 
> I'm running on RHEL 6.1, so I got the sources for firefox-3.6.24
> (default version), and try to compile the moonshot-extension-0.1 against
> it. However, when I try to compile the moonshot extension, I get the
> errors below. The installed version of the libs are
> krb5-moonshot-devel-1.9.1-12.moonshot2.el6.x86_64
> 
> Does anybody have an idea why the link fails?
> 
> Kind regards,
> Kalle Happonen
> 
> c++  -fno-rtti -fno-exceptions -Wall -Wpointer-arith
> -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
> -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long
> -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG
> -DTRIMMED -Os -freorder-blocks -fno-reorder-functions  -fPIC -shared
> -Wl,-z,defs -Wl,-h,libmoonshot.so -o libmoonshot.so  nsHttpMoonshot.o
> nsMoonshotSessionState.o nsHttpMoonshotModule.o     -lpthread  
> -Wl,-rpath-link,/root/mozilla-1.9.2/dist/bin
> -Wl,-rpath-link,/usr/local/lib  -L/root/mozilla-1.9.2/dist/bin -lxpcom
> -lxul  -L/root/mozilla-1.9.2/dist/bin -L/root/mozilla-1.9.2/dist/lib
> -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lgssapi_krb5 -lxpcomglue_s 
> -Wl,--version-script
> -Wl,../../build/unix/gnu-ld-scripts/components-version-script
> -Wl,-Bsymbolic -lasound -ldl -lm
> nsHttpMoonshot.o: In function
> `nsHttpMoonshot::GenerateCredentials_1_9_2(nsIHttpChannel*, char const*,
> int, unsigned short const*, unsigned short const*, unsigned short
> const*, nsISupports**, nsISupports**, unsigned int*, char**)':
> nsHttpMoonshot.cpp:(.text+0x758): undefined reference to
> `gss_acquire_cred_with_password'
> /usr/bin/ld: libmoonshot.so: hidden symbol
> `gss_acquire_cred_with_password' isn't defined
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: ld returned 1 exit status

The gss_acquire_cred_with_password() call is only defined in the
Moonshot-recommended libraries (while it's not available from the
Kerberos libs shipped with RHEL by default). Therefore, I think you're
actually linking against the system version of the libgssapi_krb5, not
the "Moonshot" one.

Daniel