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