diff -ur lcgdm-1.8.2.orig/config/Imake.rules lcgdm-1.8.2/config/Imake.rules
--- lcgdm-1.8.2.orig/config/Imake.rules 2011-12-06 15:29:45.424784129 +0100
+++ lcgdm-1.8.2/config/Imake.rules 2011-12-06 15:30:52.691786014 +0100
@@ -165,6 +165,13 @@
ln -s SharedLibraryTargetName(libname).rev $@.`echo rev|cut -f1 -d.`
#endif
+#ifndef InstallPlugin
+#define InstallPlugin(libname,dest) @@\
+dest/SharedLibraryTargetName(libname): dest SharedLibraryTargetName(libname) @@\
+ -mv $@ dest/OLD-SharedLibraryTargetName(libname) @@\
+ cp SharedLibraryTargetName(libname) $@
+#endif
+
#ifndef MakeDir
#define MakeDir(dirname,owner,group,mode) @@\
dirname: @@\
diff -ur lcgdm-1.8.2.orig/security/Csec_api_loader.c lcgdm-1.8.2/security/Csec_api_loader.c
--- lcgdm-1.8.2.orig/security/Csec_api_loader.c 2011-12-06 14:35:18.000000000 +0100
+++ lcgdm-1.8.2/security/Csec_api_loader.c 2011-12-06 15:30:52.693786002 +0100
@@ -222,6 +222,7 @@
void *Csec_get_shlib(Csec_context_t *ctx) {
char filename[CA_MAXNAMELEN];
char filename_thread[CA_MAXNAMELEN];
+ char fullpath[CA_MAXNAMELEN];
char suffix[CA_MAXNAMELEN];
char symname[256];
void *handle;
@@ -302,6 +303,12 @@
filename_thread,
ctx->protocols[ctx->current_protocol].id);
handle = dlopen(filename_thread, RTLD_NOW);
+ if (handle == NULL) {
+ strcpy(fullpath, LIBDIR);
+ strcat(fullpath, "/");
+ strcat(fullpath, filename_thread);
+ handle = dlopen(fullpath, RTLD_NOW);
+ }
}
if (handle == NULL) {
@@ -310,6 +317,12 @@
filename,
ctx->protocols[ctx->current_protocol].id);
handle = dlopen(filename, RTLD_NOW);
+ if (handle == NULL) {
+ strcpy(fullpath, LIBDIR);
+ strcat(fullpath, "/");
+ strcat(fullpath, filename);
+ handle = dlopen(fullpath, RTLD_NOW);
+ }
}
if (handle == NULL) {
diff -ur lcgdm-1.8.2.orig/security/Imakefile lcgdm-1.8.2/security/Imakefile
--- lcgdm-1.8.2.orig/security/Imakefile 2011-12-06 15:29:45.458784131 +0100
+++ lcgdm-1.8.2/security/Imakefile 2011-12-06 15:30:52.746786015 +0100
@@ -13,7 +13,8 @@
include FileName(..,VERSION)
INCLUDES = FileName(..,h)
-LIB = InstallLibDir
+LIBBASE = InstallLibDir
+LIB = $(LIBBASE)/lcgdm
#if UseKRB5
#define KRB5Mech KRB5
@@ -179,7 +180,7 @@
NormalLibraryTarget(security,$(SECLIB_OBJS))
Csec_api_loader.Osuf: Csec_api_loader.c
- $(CC) $(CFLAGS) -c -o Csec_api_loader.Osuf Csec_api_loader.c
+ $(CC) $(CFLAGS) -DLIBDIR='"$(LIB)"' -c -o Csec_api_loader.Osuf Csec_api_loader.c
#if UseGSI
SharedLibraryTargetName(Csec_plugin_GSI_thread): Csec_plugin_GSI_pthr.Osuf Csec_plugin_GSI_pthr_mapper.Osuf
@@ -232,11 +233,11 @@
MakeDir($(LIB),root,bin,0755)
-InstallSharedLibrary(Csec_plugin_ID,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_GSI,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_GSI_thread,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_KRB5,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_KRB4,$(VERSION),$(LIB))
+InstallPlugin(Csec_plugin_ID,$(LIB))
+InstallPlugin(Csec_plugin_GSI,$(LIB))
+InstallPlugin(Csec_plugin_GSI_thread,$(LIB))
+InstallPlugin(Csec_plugin_KRB5,$(LIB))
+InstallPlugin(Csec_plugin_KRB4,$(LIB))
MakeDir($(LIBMANDIR),root,bin,0755)