gpg-agent problems under MacOSX - libassuan v2.0.0 related?

Benjamin Donnachie benjamin at py-soft.co.uk
Fri Mar 19 10:49:40 CET 2010


I am having problems with unpatched gpg-agent under Snow Leopard with
gnupg v2.0.15:

./gpg-agent --daemon --verbose --use-standard-socket --no-detach
gpg-agent[9481]: listening on socket `/Users/benjamin/.gnupg/S.gpg-agent'
gpg-agent[9481]: listening on socket `/Users/benjamin/.gnupg/S.gpg-agent.ssh'
GPG_AGENT_INFO=/Users/benjamin/.gnupg/S.gpg-agent:9482:1; export GPG_AGENT_INFO;
SSH_AUTH_SOCK=/Users/benjamin/.gnupg/S.gpg-agent.ssh; export SSH_AUTH_SOCK;
SSH_AGENT_PID=9482; export SSH_AGENT_PID;
gpg-agent[9482]: gpg-agent (GnuPG) 2.0.15 started
Macintosh:agent benjamin$ gpg-agent[9482]: handler 0x305630 for fd 7 started
gpg-agent[9482]: starting a new PIN Entry
gpg-agent[9482]: handler 0x305630 for fd 7 terminated
gpg-agent[9482]: handler 0x3055a0 for fd 7 started
gpg-agent[9482]: starting a new PIN Entry
gpg-agent[9482]: handler 0x3055a0 for fd 7 terminated
gpg-agent[9482]: handler 0x3058d0 for fd 7 started
gpg-agent[9482]: can't connect my own socket: Invalid value passed to IPC
gpg-agent[9482]: this process is useless - shutting down
gpg-agent[9482]: gpg-agent (GnuPG) 2.0.15 stopped

This issue has been confirmed by other people using my MacGPG2 package
albeit with a patched copy of gpg-agent.  I haven't had chance to
investigate this thoroughly at this stage.

GnuPG is compiled with the following options:

export MACOSX_DEPLOYMENT_TARGET=10.4
export CFLAGS="-mmacosx-version-min=10.4 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
export CC=/usr/bin/gcc-4.0

(Above necessary to generate Universal Binary that works on Tiger and above)

./configure --disable-dependency-tracking
--with-pinentry-pgm=/usr/local/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac

[...]
configure: checking for libraries
checking for gpg-error-config... /usr/local/bin/gpg-error-config
checking for GPG Error - version >= 1.4... yes (1.7)
checking for libgcrypt-config... /usr/local/bin/libgcrypt-config
checking for LIBGCRYPT - version >= 1.4.0... yes (1.4.5)
checking LIBGCRYPT API version... okay
checking for libassuan-config... /usr/local/bin/libassuan-config
checking for LIBASSUAN - version >= 2.0.0... yes (2.0.0)
checking LIBASSUAN API version... okay
checking for ksba-config... /usr/local/bin/ksba-config
checking for KSBA - version >= 1.0.2... yes (1.0.7)
checking KSBA API version... okay
checking for usb_bulk_write in -lusb... yes
checking for usb_create_match... no
checking for library containing dlopen... none required
checking for openpty in -lutil... no
checking for shred... /usr/bin/shred
checking for pth-config... /usr/local/bin/pth-config
checking for PTH - version >= 1.3.7... yes
checking whether PTH installation is sane... yes
[...]

        GnuPG v2.0.15 has been configured as follows:

        Platform:  Darwin (i386-apple-darwin10.2.0)

        OpenPGP:   yes
        S/MIME:    yes
        Agent:     yes
        Smartcard: yes

        Protect tool:      (default)
        Default agent:     (default)
        Default pinentry:
/usr/local/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac
        Default scdaemon:  (default)
        Default dirmngr:   (default)


The only significant change is the move to libassuan v2.0.0, which I
strongly suspect as it provides the IPC library.  libassuan was
compiled with the same options as v1.0.5:

export MACOSX_DEPLOYMENT_TARGET=10.4
export CFLAGS="-mmacosx-version-min=10.4 -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
export CC=/usr/bin/gcc-4.0

$ ./configure --enable-static=no --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i386-apple-darwin10.2.0
checking host system type... i386-apple-darwin10.2.0
configure: autobuild project... libassuan
configure: autobuild revision... 2.0.0
configure: autobuild hostname... Macintosh.local
configure: autobuild timestamp... 20100319-094319
checking for style of include used by make... GNU
checking for gcc... /usr/bin/gcc-4.0
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc-4.0 accepts -g... yes
checking for /usr/bin/gcc-4.0 option to accept ISO C89... none needed
checking dependency style of /usr/bin/gcc-4.0... none
checking how to run the C preprocessor... /usr/bin/gcc-4.0 -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by /usr/bin/gcc-4.0...
/usr/libexec/gcc/i686-apple-darwin10/4.0.1/ld
checking if the linker (/usr/libexec/gcc/i686-apple-darwin10/4.0.1/ld)
is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
checking the name lister (/usr/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/libexec/gcc/i686-apple-darwin10/4.0.1/ld option to
reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm output from /usr/bin/gcc-4.0 object... ok
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /usr/bin/gcc-4.0 supports -fno-rtti -fno-exceptions... no
checking for /usr/bin/gcc-4.0 option to produce PIC... -fno-common -DPIC
checking if /usr/bin/gcc-4.0 PIC flag -fno-common -DPIC works... yes
checking if /usr/bin/gcc-4.0 static flag -static works... no
checking if /usr/bin/gcc-4.0 supports -c -o file.o... yes
checking if /usr/bin/gcc-4.0 supports -c -o file.o... (cached) yes
checking whether the /usr/bin/gcc-4.0 linker
(/usr/libexec/gcc/i686-apple-darwin10/4.0.1/ld) supports shared
libraries... yes
checking dynamic linker characteristics... darwin10.2.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for windres... no
checking for gawk... (cached) awk
checking for gcc... (cached) /usr/bin/gcc-4.0
checking whether we are using the GNU C compiler... (cached) yes
checking whether /usr/bin/gcc-4.0 accepts -g... (cached) yes
checking for /usr/bin/gcc-4.0 option to accept ISO C89... (cached) none needed
checking dependency style of /usr/bin/gcc-4.0... (cached) none
checking how to run the C preprocessor... /usr/bin/gcc-4.0 -E
checking whether /usr/bin/gcc-4.0 and cc understand -c and -o together... yes
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking if gcc supports -Wpointer-arith... yes
checking for setsockopt... yes
checking for ANSI C header files... (cached) yes
checking for string.h... (cached) yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for uintptr_t... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking return type of signal handlers... void
checking whether sys_siglist is declared... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for socklen_t... yes
checking for struct cmsghdr.cmsg_len... yes
checking for gpg-error-config... /usr/local/bin/gpg-error-config
checking for GPG Error - version >= 1.4... yes
checking for flockfile... yes
checking for funlockfile... yes
checking for library containing nanosleep... none required
checking for funopen... yes
checking for isascii... yes
checking for putc_unlocked... yes
checking for memrchr... no
checking for stpcpy... yes
checking for unistd.h... (cached) yes
checking for setenv... yes
checking for vasprintf... yes
checking for SO_PEERCRED... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating m4/Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating tests/Makefile
config.status: creating src/libassuan-config
config.status: creating src/versioninfo.rc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

Ben



More information about the Gnupg-users mailing list