Subject: pkg/30660: gpgme pkg should only be linked to libpthread in libgpgme-pthread
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Rui Paulo <rpaulo@NetBSD.org>
List: pkgsrc-bugs
Date: 07/04/2005 02:41:00
>Number:         30660
>Category:       pkg
>Synopsis:       gpgme pkg should only be linked to libpthread in libgpgme-pthread
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 04 02:41:00 +0000 2005
>Originator:     Rui Paulo
>Release:        NetBSD 3.99.7
>Organization:
>Environment:
System: NetBSD proton.internal.fnop.net 3.99.7 NetBSD 3.99.7 (GENERIC) #1: Fri Jul 1 01:31:14 WEST 2005 rpaulo@proton.internal.fnop.net:/home/rpaulo/netbsd/obj-head/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
libgpgme.so gets linked to libpthread erroneously:

/usr/pkg/lib/libgpgme.so:
        -lpthread.0 => /usr/lib/libpthread.so.0      <--- wrong
        -lrfuncs.1 => /usr/pkg/lib/librfuncs.so.1
        -lintl.0 => /usr/lib/libintl.so.0
        -lgpg-error.0 => /usr/pkg/lib/libgpg-error.so.0

/usr/pkg/lib/libgpgme-pthread.so:
        -lpthread.0 => /usr/lib/libpthread.so.0	     <--- ok
        -lrfuncs.1 => /usr/pkg/lib/librfuncs.so.1
        -lintl.0 => /usr/lib/libintl.so.0
        -lgpg-error.0 => /usr/pkg/lib/libgpg-error.so.0

This causes the problem described in PR#30414.

A vanilla "./configure && make" out of pkgsrc under NetBSD-current:

./libgpgme-pthread.so:
        -lpthread.0 => /usr/lib/libpthread.so.0
        -lintl.0 => /usr/lib/libintl.so.0
        -lgpg-error.0 => /usr/pkg/lib/libgpg-error.so.0

./libgpgme.so:
        -lintl.0 => /usr/lib/libintl.so.0
        -lgpg-error.0 => /usr/pkg/lib/libgpg-error.so.0

In private emails, I've discussed this issue with Nathan Williams and
he noticed that if libgpgme.so isn't compiled with pthread support,
pthread_mutex_* calls get expanded with to no-ops, which doesn't trigger
the assertion in PR#30414.

I will notice gpgme folks to this problem. Meanwhile we should probably
make libgpgme.so not to link with libpthread.so.

>How-To-Repeat:
	
>Fix:
	

>Unformatted:
 		pkgsrc-2005Q2 (but I see no change in security/gpgme under
 			       pkgsrc-current)