[xmlsec] Problem with xmlsec configure

Roumen Petrov xmlsec at roumenpetrov.info
Mon Feb 4 13:51:17 PST 2013


Mike Peat wrote:
> Ignore me - I found it.  It was of course called 
> "libxmlsec1-openssl.dll" rather than the "xmlsec-openssl.dll" I was 
> looking for... as any fule kno.
Yes and no ( see  below)

> Mike
>
> On 28/01/2013 19:18, Mike Peat wrote:
>> Hi anybody who may be able to help
>>
>> I am trying to build xmlsec under mingw/msys.
>>
>> I have got to the point where it SEEMS to build OK with the following 
>> config:
>>
>> ./configure --prefix=$PWD 
>> --with-libxml-src=/projects/xmlsec1/libxml2-2.9.0  \
>> --with-libxslt-src=/projects/xmlsec1/libxslt-1.1.27 
>> --build=i686-pc-mingw32 \
>>                  --with-openssl=/local/ssl
>>
>> make
>>
>> then completes OK (there are some warnings about various libs 
>> appearing to have been moved).  However...
>>
>> make check
>>
>> logs lots of errors of the form:
>>
>> Error: unable to load xmlsec-openssl library. Make sure that you have
>> this it installed, check shared libraries path (LD_LIBRARY_PATH)
>> envornment variable or use "--crypto" option to specify different
>> crypto engine.
Based on configure command I expect native build. I cannot understand 
why is specified i686-pc-mingw32. May be in you environment native 
compiler is i686-pc-mingw32-gcc.exe and gcc.exe is another compiler.

More important to reported case is use of LD_LIBRARY_PATH. So many 
projects will set this environment variable but shared-path-variable is 
platform(os) dependent. On windows it is only PATH .

As xmlsec use libtool dl-library and this library use own path variable 
(LTDL_LIBRARY_PATH) and I prefer to use lt-variable in my linux->mingw 
cross-build environment:
     # set LTDL_LIBRARY_PATH so ltdl will find *.la files in build
     # dir instead installed and will load dll from build tree
     LTDL_LIBRARY_PATH=
     LTDL_LIBRARY_PATH="`winepath -w 
\`pwd\`/src/mscrypto`;$LTDL_LIBRARY_PATH"
     LTDL_LIBRARY_PATH="`winepath -w \`pwd\`/src/gcrypt`;$LTDL_LIBRARY_PATH"
     LTDL_LIBRARY_PATH="`winepath -w 
\`pwd\`/src/openssl`;$LTDL_LIBRARY_PATH"
....
     make check ...

I lack time to test with relative paths and with ':' as path-separator. 
If this work on windows may be xmlsec could be improved to set 
LTDL_LIBRARY_PATH instead LD_LIBRARY_PATH to allow test to be executed 
on more platforms.

Proposed change is to use following:
....
PRECHECK_COMMANDS= \
     for i in $(XMLSEC_CRYPTO_LIST) ; do \
         export LTDL_LIBRARY_PATH="src/$$i:$$LTDL_LIBRARY_PATH" ; \
     done && \
....
in Makefile.

Feedback is welcome .

>> Can anybody tell me what to do about this?  I can't find a DLL of 
>> that (or similar) name anywhere.
[SNIP]

>> Mike

Roumen



More information about the xmlsec mailing list