[xmlsec] Problem with xmlsec configure

Mike Peat mpeat at unicorninterglobal.com
Mon Feb 4 17:30:13 PST 2013

Hi Roumen

Improbable as it may seem, I have, as of very recently, got the whole 
thing working under MinGW/MSys on Windows.  (Hey, it only took me about 
3 months! <g>)  Once I have got clear of everything I urgently need to 
get done, I will document the entire process and my setup and post it 
somewhere (maybe tell me where). My *heartfelt* thanks to you and others 
who have helped me out along the way.

Pretty much the last thing I had to get past was the fact that "make 
install" on xmlsec kept failing (which is why I had to go looking for 
missing DLLs on my own), with:

make[5]: Entering directory 

*** WARNING ***:

You seem to have old xmlsec header files installed in:


The entire directory will be removed now.
To allow parallel installation of different xmlsec library versions,
the header files are now installed in a version specific subdirectory:



rm: cannot remove directory 
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec': Permission denied
make[5]: *** [remove-old-headers] Error 1
make[5]: Leaving directory `/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'
make[4]: *** [install-exec-am] Error 2
make[4]: Leaving directory `/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/projects/xmlsec1/xmlsec1-1.2.18/include'
make: *** [install-recursive] Error 1


I finally figured out (doh!) that it probably wasn't anything to with 
permissions (after much futile messing around with attrib and chmod and 
Windows Explorer), but the fact that the Makefile in 
xmlsec1-1.2.18/include/xmlsec was, I think, trying to remove the 
directory it was currently sitting in.  See 
xmlsec1-1.2.18/include/xmlsec/Makefile.in, lines 741-762:

     @if test "x$(DESTDIR)" = "x" && test -d "$(includedir)/xmlsec"; then \
"----------------------------------------------------------------------"; \
         echo; \
         echo "*** WARNING ***:"; \
         echo; \
         echo "You seem to have old xmlsec header files installed in:"; \
         echo; \
         echo "  \"$(includedir)/xmlsec\""; \
         echo; \
         echo "The entire directory will be removed now."; \
         echo "To allow parallel installation of different xmlsec 
library versions,"; \
         echo "the header files are now installed in a version specific 
subdirectory:"; \
         echo; \
         echo "  \"$(xmlsecincdir)\""; \
         echo; \
"----------------------------------------------------------------------"; \
         echo; \
         rm -rf "$(includedir)/xmlsec"; \

install-exec-hook: remove-old-headers

My workaround was just to comment-out the "rm" line, which resulted in 

I suspect that this is an actual bug rather than an aspect of my stupidity.


On 04/02/2013 21:51, Roumen Petrov wrote:
> 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="`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:
> ....
>     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
> .

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.aleksey.com/pipermail/xmlsec/attachments/20130205/3cfa2d06/attachment.html>

More information about the xmlsec mailing list