Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: GnuPG: devel

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

 

 

GnuPG devel RSS feed   Index | Next | Previous | View Threaded


gilboooo at gmail

Jul 25, 2006, 4:55 AM

Post #1 of 4 (991 views)
Permalink
GnuPG 1.4.4 does not compile on NetBSD is curl library is installed from pkgsrc

Hello everyone,

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.

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.

Here is the error message :

-*-

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: parse error before "error"
*** Error code 1

Stop.
make: stopped in /root/g/gnupg-1.4.4/keyserver
*** Error code 1

Stop.
make: stopped in /root/g/gnupg-1.4.4
*** Error code 1

Stop.
make: stopped in /root/g/gnupg-1.4.4
soekris{/root/g/gnupg-1.4.4}

-*-

As soon as I remove the curl library (compiled from
/usr/pkgsrc/www/curl) the make of GnuPG 1.4.4 works fine.

When the curl library is installed, the curl.h file is located there :

/usr/pkg/include/curl/curl.h

To make a test, I have tried to compile the previous GnuPG version
(1.4.3) with and without that curl library installed :

-*-

keyserver.c:30:23: curl/curl.h: No such file or directory
In file included from keyserver.c:40:
../include/ttyio.h:32: warning: `libintl_printf' is an unrecognized
format function type
../include/ttyio.h:34: warning: `libintl_printf' is an unrecognized
format function type
In file included from keyserver.c:45:
../include/util.h:81: warning: `libintl_printf' is an unrecognized
format function type
../include/util.h:84: warning: `libintl_printf' is an unrecognized
format function type
../include/util.h:85: warning: `libintl_printf' is an unrecognized
format function type
../include/util.h:86: warning: `libintl_printf' is an unrecognized
format function type
../include/util.h:87: warning: `libintl_printf' is an unrecognized
format function type
../include/util.h:88: warning: `libintl_printf' is an unrecognized
format function type
keyserver.c: In function `parse_keyserver_uri':
keyserver.c:367: warning: subscript has type `char'
*** Error code 1

Stop.
make: stopped in /root/g/gnupg-1.4.3/g10
*** Error code 1

Stop.
make: stopped in /root/g/gnupg-1.4.3
*** Error code 1

Stop.
make: stopped in /root/g/gnupg-1.4.3

-*-

Result is the same.

Here is my system uname -a :

NetBSD soekris 3.0 NetBSD 3.0 (SOEKRIS) #4: Fri May 5 19:19:40 UTC
2006 root[at]soekris:/usr/src/sys/arch/i386/compile/SOEKRIS i386

Installed software versions :

curl-7.15.4
gmake-3.81 (I always compiled GnuPG using make, not gmake)
libtool-base-1.5.22nb3
m4-1.4.4

When I tried to compile without curl, both 1.4.3 and 1.4.4 compile fine.

After having installed curl, I did a new ./configure && make in both
GnuPG 1.4.3 folder and 1.4.4 folder after a make clean.

Two solutions :

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/

The curl library maintainer is Cc of this email.

Best regards,

--
unzip ; strip ; touch ; grep ; find ; finger ; mount ; fsck ; more ;
yes ; fsck ; umount ; sleep

_______________________________________________
Gnupg-devel mailing list
Gnupg-devel[at]gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-devel


gdt at ir

Jul 26, 2006, 8:48 AM

Post #2 of 4 (908 views)
Permalink
Re: GnuPG 1.4.4 does not compile on NetBSD is curl library is installed from pkgsrc [In reply to]

"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,@LIBCURL_CPPFLAGS@,-I/usr/pkg/include,;t t
s,@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>


dshaw at jabberwocky

Jul 26, 2006, 1:34 PM

Post #3 of 4 (909 views)
Permalink
Re: GnuPG 1.4.4 does not compile on NetBSD is curl library is installed from pkgsrc [In reply to]

On Tue, Jul 25, 2006 at 01:55:34PM +0200, Gilbert Fernandes wrote:
> Hello everyone,
>
> 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.
>
> 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.

Should be fixed now, thanks.

Index: Makefile.am
===================================================================
--- Makefile.am (revision 4198)
+++ Makefile.am (working copy)
@@ -50,4 +50,5 @@
gpgkeys_curl_LDADD = @LIBCURL@ @GETOPT@
gpgkeys_hkp_CPPFLAGS = @LIBCURL_CPPFLAGS@
gpgkeys_hkp_LDADD = @LIBCURL@ @GETOPT@
+gpgkeys_finger_CPPFLAGS = @LIBCURL_CPPFLAGS@
endif

David

_______________________________________________
Gnupg-devel mailing list
Gnupg-devel[at]gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-devel


gilboooo at gmail

Jul 26, 2006, 2:10 PM

Post #4 of 4 (908 views)
Permalink
Re: GnuPG 1.4.4 does not compile on NetBSD is curl library is installed from pkgsrc [In reply to]

> Should be fixed now, thanks.

Name your beer and address and I will handle the shipping :)

(er.. try to choose a beer I can find in France though ha ha)

--
unzip ; strip ; touch ; grep ; find ; finger ; mount ; fsck ; more ;
yes ; fsck ; umount ; sleep

_______________________________________________
Gnupg-devel mailing list
Gnupg-devel[at]gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-devel

GnuPG devel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.