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