GnuPG 1.4.4 does not compile on NetBSD is curl library is installed from pkgsrc

Greg Troxel gdt at ir.bbn.com
Wed Jul 26 17:48:15 CEST 2006


"Gilbert Fernandes" <gilboooo at gmail.com> writes:

executive summary: GnuPG has a bug, which is that LIBCURL_CPPFLAGS is
not included for gpgkeys_finger.c (which includes ksutil.h which
includes curl/libcurl.h, and thus it needs it).

add

gpgkeys_finger_CPPFLAGS = @LIBCURL_CPPFLAGS@
gpgkeys_finger_LDADD = @LIBCURL@ @GETOPT@

to keyserver/Makefile.am, and probably similarly for fake curl.

long version:

> when GnuPG 1.4.4 is compiled on NetBSD 3.0 it works fine. The configure
> does its job, as the make and make install.

Is there some reason you aren't using pkgsrc?  If you were, you
wouldn't be having this problem.

> But if the curl library has been installed on the system (on one of
> my computers, it has been installed as dependency of clamav) then
> the make fails because a file does not find the proper include file
> at the right place.
>
> In file included from gpgkeys_finger.c:48:
> ksutil.h:26:23: curl/curl.h: No such file or directory

Are you passing CPPFLAGS of -I/usr/pkg/include? (I assuming not; if
you did gnupg would work.  In general on NetBSD when using
dependencies from pkgsrc you need to do that.)

curl supports both pkg-config and curl-config.
gnupg seems to use curl-config.

> 1. GnuPG make file is adapted to NetBSD
> 2. The curl package maintener does a change that allows GnuPG make file
> to find curl where it should be.
> 3. #ifdef __NETBSD__ include the curl file located in /usr/pkg/include/curl/

I don't know what 1 means, but really (see above) there's a small bug
to fix which is independent of NetBSD.  2 is not the answer because
both curl-config and the curl pkg-config file seem correct.  3 is
wrong because pkgsrc isn't just NetBSD, and someone might have curl
elsewhere.  Which leaves us with

1. Use pkgsrc, which sets up CPPFLAGS and works fine.
2. Fix the bug in gnupg makefiles

On my system (3.99), with curl, I did a manual build of gnupg 1.4.4.
I notice in config.status that curl was found and the variables look ok

s, at LIBCURL_CPPFLAGS@,-I/usr/pkg/include,;t t
s, at LIBCURL@,-L/usr/pkg/lib -lcurl -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lidn -lssl -lcrypto -lz,;t t

but in keyserver it seems that LIBCURL_CPPFLAGS are not included:

gdt 35 ~/SOFTWARE/GNUPG/gnupg-1.4.4/keyserver > gmake 
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../intl    -g -O2 -Wall -MT gpgkeys_finger.o -MD -MP -MF ".deps/gpgkeys_finger.Tpo" -c -o gpgkeys_finger.o gpgkeys_finger.c; \
        then mv -f ".deps/gpgkeys_finger.Tpo" ".deps/gpgkeys_finger.Po"; else rm -f ".deps/gpgkeys_finger.Tpo"; exit 1; fi
In file included from gpgkeys_finger.c:48:
ksutil.h:26:23: curl/curl.h: No such file or directory
In file included from gpgkeys_finger.c:48:
ksutil.h:108: error: syntax error before "error"
gmake: *** [gpgkeys_finger.o] Error 1

That's because of a bug in Makefile.am, shown at the very top of this
message.

(Werner: hope that's "trivial"; my papers are not in order :-)

-- 
    Greg Troxel <gdt at ir.bbn.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 185 bytes
Desc: not available
Url : /pipermail/attachments/20060726/e506546d/attachment.pgp


More information about the Gnupg-devel mailing list