On Sun, 13 Nov 2011, Antoine Jacoutot wrote: > Log message: > Sync dependencies after move from libusb to libusb-compat and fix a > couple of fallouts. Note that these ports are only the ones that used to > have a direct dependency on devel/libusb so there may be some other > hidden ports that may break because of the switch. If that's the case, > no need to start ranting all over but instead tell me which one(s) > break. Thanks.
I'm sorry to bring bad news, but this broke security/gnupg2 in a bad way: (gdb) run --pinentry-program /usr/local/bin/pinentry-curses --enable-ssh-support --daemon --log-file ~/.gnupg/gpg-agent.log --write-env-file Starting program: /usr/local/bin/gpg-agent --pinentry-program /usr/local/bin/pinentry-curses --enable-ssh-support --daemon --log-file ~/.gnupg/gpg-agent.log --write-env-file Ohhhh jeeee: ... this is a bug (global.c:121:global_init) Program received signal SIGSEGV, Segmentation fault. [Switching to process 2746, thread 0x2037b1800] __pth_ring_append (r=0x150, rn=0x20113a9c0) at pth_ring.c:159 159 if (r->r_hook == NULL) { (gdb) bt #0 __pth_ring_append (r=0x150, rn=0x20113a9c0) at pth_ring.c:159 #1 0x000000021052985e in pth_mutex_acquire (mutex=0x20113a9c0, tryonly=Variable "tryonly" is not available. ) at pth_sync.c:101 #2 0x0000000000406ee0 in gcry_pth_mutex_lock (lock=Variable "lock" is not available. ) at gpg-agent.c:280 #3 0x000000020630938d in lock_fsm () from /usr/local/lib/libgcrypt.so.15.0 #4 0x000000020630943b in fips_new_state () from /usr/local/lib/libgcrypt.so.15.0 #5 0x000000020630965c in _gcry_fips_signal_error () from /usr/local/lib/libgcrypt.so.15.0 #6 0x0000000206303844 in _gcry_logv () from /usr/local/lib/libgcrypt.so.15.0 #7 0x0000000206303eb8 in _gcry_log () from /usr/local/lib/libgcrypt.so.15.0 #8 0x0000000206303f0f in _gcry_bug () from /usr/local/lib/libgcrypt.so.15.0 #9 0x000000020630484a in global_init () from /usr/local/lib/libgcrypt.so.15.0 #10 0x0000000206304c0f in _gcry_vcontrol () from /usr/local/lib/libgcrypt.so.15.0 #11 0x0000000206302cdd in gcry_control () from /usr/local/lib/libgcrypt.so.15.0 #12 0x0000000000408037 in main (argc=8, argv=0x7f7ffffea178) at gpg-agent.c:598 This is because the new libusb brings "-pthread" in and you cannot mix GNU pth with libpthread, at least until (I think) we'll be able to have a working devel/pth built using the "--enable-syscall-hard" option that provides replacement syscalls wrapping libpthread ones. So, for now, we are forced to lose smartcard support unless someone can jump in with a fix for this giant mess... Ciao, David Index: Makefile =================================================================== RCS file: /cvs/ports/security/gnupg2/Makefile,v retrieving revision 1.13 diff -u -p -r1.13 Makefile --- Makefile 13 Nov 2011 13:54:05 -0000 1.13 +++ Makefile 22 Nov 2011 13:17:09 -0000 @@ -4,7 +4,7 @@ COMMENT = gnu privacy guard - a free PG DISTNAME = gnupg-2.0.18 CATEGORIES = security -REVISION = 0 +REVISION = 1 MASTER_SITES = ftp://ftp.gnupg.org/gcrypt/gnupg/ \ ftp://gd.tuwien.ac.at/privacy/gnupg/gnupg/ \ @@ -25,8 +25,8 @@ PERMIT_PACKAGE_FTP = Yes PERMIT_DISTFILES_CDROM =Yes PERMIT_DISTFILES_FTP = Yes -WANTLIB += assuan bz2 c gcrypt gpg-error pthread -WANTLIB += ksba pth readline termcap usb z +WANTLIB += assuan bz2 c gcrypt gpg-error +WANTLIB += ksba pth readline termcap z EXTRACT_SUFX = .tar.bz2 @@ -35,8 +35,7 @@ MODULES = devel/gettext FLAVORS = ldap FLAVOR ?= -LIB_DEPENDS = devel/libusb-compat \ - archivers/bzip2 \ +LIB_DEPENDS = archivers/bzip2 \ security/libassuan \ security/libgcrypt \ security/libksba \ @@ -61,9 +60,12 @@ USE_GROFF = Yes CONFIGURE_STYLE = gnu CONFIGURE_ENV = CPPFLAGS="-I${LOCALBASE}/include" \ - LDFLAGS="-L${LOCALBASE}/lib -pthread" + LDFLAGS="-L${LOCALBASE}/lib" CONFIGURE_ARGS = docdir=${LOCALBASE}/share/doc/gnupg2 \ --enable-gpgtar + +# XXX pth/pthread segfault woes +CONFIGURE_ARGS += --disable-ccid-driver # Avoid conflict with gnupg-1.x post-install: