Building p11-kit with MinGW on Windows
Eli Zaretskii
eliz at gnu.org
Sat Jan 7 06:05:26 PST 2012
[Please CC me on any responses, as I'm not subscribed to this list.]
About a week ago, I built p11-kit on MS-Windows using MinGW. I found
one problem with the package, related to the "install" target of the
Makefile. Specifically, "make install" fails like this:
make install-exec-hook
make[3]: Entering directory `/d/usr/eli/utils/p11-kit-0.9/p11-kit'
cp -p -f `readlink /d/usr/test/lib/libp11-kit.so` /d/usr/test/lib/p11-kit-proxy.so
cp: missing destination file operand after `/d/usr/test/lib/p11-kit-proxy.so'
Try `cp --help' for more information.
make[3]: *** [install-exec-hook] Error 1
make[3]: Leaving directory `/d/usr/eli/utils/p11-kit-0.9/p11-kit'
make[2]: *** [install-exec-am] Error 2
make[2]: Leaving directory `/d/usr/eli/utils/p11-kit-0.9/p11-kit'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/d/usr/eli/utils/p11-kit-0.9/p11-kit'
make: *** [install-recursive] Error 1
The bug is that the command line uses .so instead of .dll.a.
Therefore the `readlink ...` part evaluates to empty, and the rest
is history.
Here's the offending fragment from Makefile.am:
# Proxy module is actually same as library, so install a link
install-exec-hook:
$(LN_S) -f `readlink $(DESTDIR)$(libdir)/libp11-kit.so` $(DESTDIR)$(libdir)/p11-kit-proxy.so
It shouldn't use a literal .so, as that is only appropriate for
Posix hosts.
Thanks for developing p11-kit!
More information about the p11-glue
mailing list