I am working on an update to opensc to 0.13, based on work in wip by
Richard Hansen. This is complicated by
* the fact that upstream seems to think pthreads are non-optional for
opensc, even though really there's nothing in the code that really
requires that
* The consequence of the notion that on NetBSD, non-threaded programs
may not dlopen libraries linked with pthreads, that pam modules
must therefore be non-threaded, and therefore that all libraries, to
include smartcard libraries, must be non-threaded
So, in trying to get opensc built without -lpthread, I found that the
bl3 of libxslt via the included bl3 of libgcrypt includes
mk/pthread.buildlink3.mk. While I realize it's possible to make the
opensc package ignore the helpfully-set PTHREAD variables, I questioned
the correctness of this situation. libgcrypt has several binaries and
one library, and on NetBSD 6 i386 none of them are linked with
-lpthread. I also don't get threads linked on OSX 10.9 (abi=32, clang).
However, a test program inside the package does get linked with threads
(when one runs " make test").
So I don't see why a program that links against libgcrypt should be
suggested to use threads. The inclusion of pthread in the bl3 was a
long time ago:
revision 1.8
date: 2004-11-14 10:38:42 -0500; author: ben; state: Exp; lines: +2 -1;
As it was, libtool failed to link to libgcrypt on NetBSD 1.6.x because
buildlink did not bring in PTH. For example, this made opencdk fail to
build. Fix this by adding mk/pthread.buildlink3.mk to
security/gcrypt/buildlink3.mk
and perhaps libgcrypt was linked threaded then; we've certainly had a
pthread-purging rampage going for a few years. So I propose to apply
the following (pre-freeze, ideally) - comments/objections??
Index: security/libgcrypt/buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/security/libgcrypt/buildlink3.mk,v
retrieving revision 1.16
diff -u -p -r1.16 buildlink3.mk
--- security/libgcrypt/buildlink3.mk 1 Jan 2014 11:49:59 -0000 1.16
+++ security/libgcrypt/buildlink3.mk 13 Mar 2014 23:58:23 -0000
@@ -10,7 +10,9 @@ BUILDLINK_ABI_DEPENDS.libgcrypt+= libgcr
BUILDLINK_PKGSRCDIR.libgcrypt?= ../../security/libgcrypt
.include "../../security/libgpg-error/buildlink3.mk"
-.include "../../mk/pthread.buildlink3.mk"
+# In 2004, this was needed for pth on 1.6. But libgcrypt is linked
+# without threads, so omit it.
+#.include "../../mk/pthread.buildlink3.mk"
.endif # LIBGCRYPT_BUILDLINK3_MK
BUILDLINK_TREE+= -libgcrypt
Attachment:
pgp67Pb8Xxj3q.pgp
Description: PGP signature