[xmlsec] ltdl problem on Solaris
Russell Beall
beall at usc.edu
Wed Feb 23 16:39:08 PST 2011
Thanks for the tips.
With the sample code in place, the error message now looks like:
func=xmlSecCryptoDLInit:file=dl.c:line=396:obj=unknown:subj=lt_dlinit:error=7:io function failed:invalid loader
func=xmlSecInit:file=xmlsec.c:line=42:obj=unknown:subj=xmlSecCryptoDLInit:error=1:xmlsec library function failed:
libltdl was freshly compiled and installed for use with this custom installation of various libraries for this project, and ldd seems to indicate that all the shared libraries are pointing to the correct libltdl.
libtool is version 2.2 which creates libltdl.so.7.1.0
I've noticed that the project file also links to libdl.so. Could that be interfering?
Russ.
On Feb 23, 2011, at 4:23 PM, Roumen Petrov wrote:
> Hi,
>
> Russell Beall wrote:
>> Hi,
>>
>> I've been following this thread and I've been wondering if it is related to a problem I have been having for the past few days. Usually I can hunt down the source of these types of issues, but this one defies all my attempts, and doesn't seem to be present in the FAQ or online searches.
>>
>> When running an initialization of the xmlsec library I get the following error:
>> func=xmlSecCryptoDLInit:file=dl.c:line=389:obj=unknown:subj=lt_dlinit:error=7:io function failed:
>> func=xmlSecInit:file=xmlsec.c:line=42:obj=unknown:subj=xmlSecCryptoDLInit:error=1:xmlsec library function failed:
>>
> May be with modification of xmlsec code to return ltdl error message diagnose will be simpler.
> Lets check following part of code (dl.c):
> ====
> xmlSecError(XMLSEC_ERRORS_HERE,
> NULL,
> "lt_dlinit",
> XMLSEC_ERRORS_R_IO_FAILED,
> XMLSEC_ERRORS_NO_MESSAGE);
> =====
> XMLSEC_ERRORS_NO_MESSAGE is a macro that return " " .
> It cannot be replaced by lt_dlerror() as function may return NULL and of solaris (10 until .....) xxxprintf will crash.
> So a new function is required as example:
> ========
> static const char * xmlsec_lt_dleror(void);
>
> const char * xmlsec_lt_dleror() {
> const char *s = lt_dlerror();
> return s ? s : XMLSEC_ERRORS_NO_MESSAGE;
> }
> =========
> and to replace XMLSEC_ERRORS_NO_MESSAGE with xmlsec_lt_dleror()
>
>> This happens on startup of the server, but somehow does not interfere with the operation of the server. If I take out the call to xmlSecInit() then the server does not work. I am concerned that if I use the server anyway, this is hinting at some more serious problem...
>>
> May be you could post issue to libtool list, i.e. authors .
>
>> I am running Solaris 10 with xmlsec 1.2.16. I hit this problem when trying tp upgrade a batch of code from xmlsec 1.2.5
>>
> Just for protocol , could you post version of ltdl.
>
>> Thanks for any help,
>> Russ.
>>
> [SNIP]
>
> Roumen
More information about the xmlsec
mailing list