<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#3333FF">
<div class="moz-cite-prefix">Hi Roumen<br>
<br>
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.<br>
<br>
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:<br>
<br>
//===================<br>
...<br>
make[5]: Entering directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'<br>
----------------------------------------------------------------------<br>
<br>
*** WARNING ***:<br>
<br>
You seem to have old xmlsec header files installed in:<br>
<br>
"/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec"<br>
<br>
The entire directory will be removed now.<br>
To allow parallel installation of different xmlsec library
versions,<br>
the header files are now installed in a version specific
subdirectory:<br>
<br>
"/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec1/xmlsec"<br>
<br>
----------------------------------------------------------------------<br>
<br>
rm: cannot remove directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec': Permission
denied<br>
make[5]: *** [remove-old-headers] Error 1<br>
make[5]: Leaving directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'<br>
make[4]: *** [install-exec-am] Error 2<br>
make[4]: Leaving directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'<br>
make[3]: *** [install-am] Error 2<br>
make[3]: Leaving directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'<br>
make[2]: *** [install-recursive] Error 1<br>
make[2]: Leaving directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'<br>
make[1]: *** [install-recursive] Error 1<br>
make[1]: Leaving directory
`/projects/xmlsec1/xmlsec1-1.2.18/include'<br>
make: *** [install-recursive] Error 1<br>
<br>
//===================<br>
<br>
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:<br>
<br>
//===================<br>
...<br>
remove-old-headers:<br>
@if test "x$(DESTDIR)" = "x" && test -d
"$(includedir)/xmlsec"; then \<br>
echo
"----------------------------------------------------------------------";
\<br>
echo; \<br>
echo "*** WARNING ***:"; \<br>
echo; \<br>
echo "You seem to have old xmlsec header files installed
in:"; \<br>
echo; \<br>
echo " \"$(includedir)/xmlsec\""; \<br>
echo; \<br>
echo "The entire directory will be removed now."; \<br>
echo "To allow parallel installation of different xmlsec
library versions,"; \<br>
echo "the header files are now installed in a version
specific subdirectory:"; \<br>
echo; \<br>
echo " \"$(xmlsecincdir)\""; \<br>
echo; \<br>
echo
"----------------------------------------------------------------------";
\<br>
echo; \<br>
rm -rf "$(includedir)/xmlsec"; \<br>
fi<br>
<br>
install-exec-hook: remove-old-headers<br>
...<br>
//===================<br>
<br>
My workaround was just to comment-out the "rm" line, which
resulted in workingness.<br>
<br>
I suspect that this is an actual bug rather than an aspect of my
stupidity.<br>
<br>
Mike<br>
<br>
On 04/02/2013 21:51, Roumen Petrov wrote:<br>
</div>
<blockquote cite="mid:51102D55.4090803@roumenpetrov.info"
type="cite">Mike Peat wrote:
<br>
<blockquote type="cite">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.
<br>
</blockquote>
Yes and no ( see below)
<br>
<br>
<blockquote type="cite">Mike
<br>
<br>
On 28/01/2013 19:18, Mike Peat wrote:
<br>
<blockquote type="cite">Hi anybody who may be able to help
<br>
<br>
I am trying to build xmlsec under mingw/msys.
<br>
<br>
I have got to the point where it SEEMS to build OK with the
following config:
<br>
<br>
./configure --prefix=$PWD
--with-libxml-src=/projects/xmlsec1/libxml2-2.9.0 \
<br>
--with-libxslt-src=/projects/xmlsec1/libxslt-1.1.27
--build=i686-pc-mingw32 \
<br>
--with-openssl=/local/ssl
<br>
<br>
make
<br>
<br>
then completes OK (there are some warnings about various libs
appearing to have been moved). However...
<br>
<br>
make check
<br>
<br>
logs lots of errors of the form:
<br>
<br>
Error: unable to load xmlsec-openssl library. Make sure that
you have
<br>
this it installed, check shared libraries path
(LD_LIBRARY_PATH)
<br>
envornment variable or use "--crypto" option to specify
different
<br>
crypto engine.
<br>
</blockquote>
</blockquote>
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.
<br>
<br>
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 .
<br>
<br>
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:
<br>
# set LTDL_LIBRARY_PATH so ltdl will find *.la files in build
<br>
# dir instead installed and will load dll from build tree
<br>
LTDL_LIBRARY_PATH=
<br>
LTDL_LIBRARY_PATH="`winepath -w
\`pwd\`/src/mscrypto`;$LTDL_LIBRARY_PATH"
<br>
LTDL_LIBRARY_PATH="`winepath -w
\`pwd\`/src/gcrypt`;$LTDL_LIBRARY_PATH"
<br>
LTDL_LIBRARY_PATH="`winepath -w
\`pwd\`/src/openssl`;$LTDL_LIBRARY_PATH"
<br>
....
<br>
make check ...
<br>
<br>
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.
<br>
<br>
Proposed change is to use following:
<br>
....
<br>
PRECHECK_COMMANDS= \
<br>
for i in $(XMLSEC_CRYPTO_LIST) ; do \
<br>
export LTDL_LIBRARY_PATH="src/$$i:$$LTDL_LIBRARY_PATH" ; \
<br>
done && \
<br>
....
<br>
in Makefile.
<br>
<br>
Feedback is welcome .
<br>
<br>
<blockquote type="cite">
<blockquote type="cite">Can anybody tell me what to do about
this? I can't find a DLL of that (or similar) name anywhere.
<br>
</blockquote>
</blockquote>
[SNIP]
<br>
<br>
<blockquote type="cite">
<blockquote type="cite">Mike
<br>
</blockquote>
</blockquote>
<br>
Roumen
<br>
<br>
.
<br>
<br>
</blockquote>
<br>
</body>
</html>