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)