diff -Naur ./openCryptoki-2.2.2-rc2/usr/lib/pkcs11/api/apiutil.c ./openCryptoki-2.2.2-rc2-64_bit_fixes/usr/lib/pkcs11/api/apiutil.c --- ./openCryptoki-2.2.2-rc2/usr/lib/pkcs11/api/apiutil.c 2006-04-10 22:22:16.000000000 +0200 +++ ./openCryptoki-2.2.2-rc2-64_bit_fixes/usr/lib/pkcs11/api/apiutil.c 2006-04-10 22:23:07.000000000 +0200 @@ -1026,16 +1026,17 @@ // Check for the name specified to be corre sprintf(path,"%s",sinfp->dll_location); // make a copy since dir name can change the memory - sprintf(path2,"%s/stdll",LIBLOCATION); // make a copy since dir name can change the memory dname = dirname(path); + sprintf(path2,"%s/stdll%s",LIBLOCATION,&(sinfp->dll_location[strlen(dname)])); // make a copy since dir name can change the memory + /* if (strcmp(dname,path2) != 0 ) { // Not in the location we expect sltp->dlop_p = NULL; return 0; } - - dllload[i].dlop_p = dlopen(sinfp->dll_location,RTLD_NOW); + */ + dllload[i].dlop_p = dlopen(path2,RTLD_NOW); if (dllload[i].dlop_p != NULL ){ sltp->dlop_p = dllload[i].dlop_p; diff -Naur ./openCryptoki-2.2.2-rc2/usr/lib/pkcs11/common/utility.c ./openCryptoki-2.2.2-rc2-64_bit_fixes/usr/lib/pkcs11/common/utility.c --- ./openCryptoki-2.2.2-rc2/usr/lib/pkcs11/common/utility.c 2006-04-10 22:22:16.000000000 +0200 +++ ./openCryptoki-2.2.2-rc2-64_bit_fixes/usr/lib/pkcs11/common/utility.c 2006-04-10 22:22:53.000000000 +0200 @@ -294,6 +294,7 @@ #include #include #include +#include #include #include #include