Compile of gnupg-2.2.27 fails on t-keydb.c

NIIBE Yutaka gniibe at fsij.org
Fri Apr 16 07:27:40 CEST 2021


Frank <gnupg at shoran-und-alira.de> wrote:
> Hi Werner,
>
> I assume you are busy with the 2.30 release (congratulations!) but you  
> have any more hints how to get more informations on my compile problem?

Since Werner is busy, let me reply, to where I can understand.

IIUC, GnuPG 2.3.0 needs some fix for your environment (xlc on AIX).

> I think AIX might work with __inline__ (? have not tried that):

I think that xlc supports C99 standard.  But unfortunately, it seems
that it is used with an option of "-qlanglvl=extc89", which specifies
C89 standard.

Note that you need a compiler which supports C99 standard for "inline".

I your log:

> <snipp>
>          source='t-keydb.c' object='t-keydb.o' libtool=no   
> DEPDIR=.deps depmode=xlc /opt/freeware/bin/bash ../build-aux/depcomp   
> cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. -I..   
      ^^^^^^^^^^^^^^^

This is the problem.  I wonder where this option comes from.
If it is from autoconf, you would need a fix like:

diff --git a/configure.ac b/configure.ac
index 215a6535f..2a50c5b73 100644
--- a/configure.ac
+++ b/configure.ac
@@ -638,7 +638,7 @@ AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
 AM_SILENT_RULES
 AC_PROG_AWK
-AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_CPP
 AM_PROG_CC_C_O
 if test "x$ac_cv_prog_cc_c89" = "xno" ; then

And you need to regenerate the configure script, becoure "make".

Or it is you who specified CC, you invoking make with

	CC="cc -qlanglvl=extc99"

... may just work.
-- 



More information about the Gnupg-users mailing list