[GPGME] GpgME cannot be compiled in Alpha

Marcus Brinkmann Marcus.Brinkmann at ruhr-uni-bochum.de
Thu Nov 1 16:08:01 CET 2001


On Thu, Nov 01, 2001 at 12:07:43AM +0100, Jose Carlos Garcia Sogo wrote:
>    I'm the Debian mantainer of gpgme and I have noticed that it
>  cannot be built in Alpha arch. Nor the current (0.2.3) version
>  neither the last (0.2.2) have been compiled.

Thanks for the report.  Mmh.  Lully and faure are down, so I can't do some
tests for myself, but maybe you can help me out.
    
>    It seems that there is a problem with a file included in the sources
>  which in Alpha redefines a function.

The redefinition looks like a system header problem, a conflict between the
glibc and gcc header files.  This might be related to gpgme defining
_GNU_SOURCE, so if compiling

#define _GNU_SOURCE 1
#include <stdarg.h>
#include <stdio.h>

produces the same warning, another bug has to be filed against either gcc or
glibc.  This is something I cannot test right now.  Maybe some more header
files or macros are necessary to trigger this bug, in the order they are
used in gpgme, but you should have no trouble finding out.

However, there is an actual bug in gpgme anyway.  Please try the following
patch:

2001-11-01  Marcus Brinkmann  <marcus at g10code.de>

        * logging.c (log_printf): Do not initialize ARG_PTR with 0, we
        don't know the correct type.  Instead, run va_start and va_end
        unconditionally.

--- jnlib/logging.c.~1.3.~	Mon Sep  3 20:41:53 2001
+++ jnlib/logging.c	Thu Nov  1 15:59:30 2001
@@ -222,18 +222,13 @@
 
 
 void
-log_printf( const char *fmt, ... )
+log_printf (const char *fmt, ...)
 {
-    va_list arg_ptr = 0;
+  va_list arg_ptr;
 
-    if( !fmt ) {
-	do_logv( MY_LOG_BEGIN, NULL, arg_ptr );
-    }
-    else {
-	va_start( arg_ptr, fmt ) ;
-	do_logv( MY_LOG_CONT, fmt, arg_ptr );
-	va_end(arg_ptr);
-    }
+  va_start (arg_ptr, fmt);
+  do_logv (fmt ? MY_LOG_CONT : MY_LOG_BEGIN, fmt, arg_ptr);
+  va_end (arg_ptr);
 }

Thanks,
Marcus


-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd at debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus at gnu.org
Marcus.Brinkmann at ruhr-uni-bochum.de
http://www.marcus-brinkmann.de




More information about the Gnupg-devel mailing list