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

_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec

Reply via email to