A few bugs with GnuPG 1.0.6 on Digital Unix

Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu
Fri Jun 8 18:38:01 2001


In regard to: A few bugs with GnuPG 1.0.6 on Digital Unix, Chris Adams said...:

>Also, configure.in doesn't know how to build dynamic modules on Digital
>Unix:

You can leave off the $CFLAGS_PIC for DU, since there are no PIC flags needed
on alpha-osf -- Everything is PIC.  You wildcarded the first part though,
so maybe it's safer to leave it on for now.

>************************************************************************
>diff -urN gnupg-1.0.6-dist/configure.in gnupg-1.0.6/configure.in
>--- gnupg-1.0.6-dist/configure.in	Mon May 28 07:46:13 2001
>+++ gnupg-1.0.6/configure.in	Fri Jun  8 10:41:16 2001
>@@ -280,6 +280,10 @@
>         DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC"
>         ;;
>
>+    *-dec-osf*)
>+        DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC"
>+        ;;
>+
>     *)
>         NAME_OF_DEV_RANDOM="/dev/random"
>         NAME_OF_DEV_URANDOM="/dev/urandom"
>************************************************************************
>
>With those patches, it builds and runs fine.

I thought I had submitted a patch for that back in the 1.0.2 timeframe,
but maybe not.  Here's the patch I use for DU/Tru64, IRIX, and HP-UX.
I haven't tested the HP-UX one in a long time, it might not be quite right,
but it's a start.

What options did you use when you configured gnupg?

Tim
-- 
Tim Mooney                              mooney@dogbert.cc.ndsu.NoDak.edu
Information Technology Services         (701) 231-1076 (Voice)
Room 242-J6, IACC Building              (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164


diff -ur gnupg-1.0.2c.orig/configure.in gnupg-1.0.2c/configure.in
--- gnupg-1.0.2c.orig/configure.in	Thu Sep 14 07:20:26 2000
+++ gnupg-1.0.2c/configure.in	Mon Sep 18 17:53:54 2000
@@ -213,6 +213,15 @@
             CFLAGS="$CFLAGS -w"
         fi
         ;;
+    *-dec-osf5*)
+        if test -z "$GCC" ; then
+            # Use the newer compiler `-msg_disable ptrmismatch' to
+            # get rid of the unsigned/signed char mismatch warnings.
+			# Using this may hide other pointer mismatch warnings, but
+			# it at least lets other warning classes through
+            CFLAGS="$CFLAGS -msg_disable ptrmismatch"
+        fi
+        ;;
     m68k-atari-mint)
         ;;
     *)
@@ -254,10 +263,41 @@

 dnl  Fixme: Are these the best flags for OpenBSD????
 case "${target}" in
+
+    hpux*)
+		# if using the vendor (ANSI) compiler, arrange to have `-b'
+		# passed to the linker.  If using gcc, it supports `-shared' to
+		# do the same.
+        if test -n "$GCC" ; then
+           DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC"
+        else
+           DYNLINK_MOD_CFLAGS='-Wl,-b'
+        fi
+        ;;
+
+    *-irix6.5*)
+		# Irix 6.5 (and probably a lot earlier, but I only still have
+		# access to 6.5.x) doesn't require any additional flags, as `-KPIC'
+		# is the default.
+		# Also, `-shared' works with the vendor compiler
+		DYNLINK_MOD_CFLAGS="-shared"
+        ;;
+
     *-openbsd*)
         NAME_OF_DEV_RANDOM="/dev/srandom"
         NAME_OF_DEV_URANDOM="/dev/urandom"
         DYNLINK_MOD_CFLAGS="-shared -rdynamic $CFLAGS_PIC -Wl,-Bshareable -Wl,-x"
+        ;;
+
+    alpha*-dec-osf*)
+		# osf (i.e. OSF/1, Digital UNIX, or Tru64 UNIX, pick any one...)
+		# on alpha doesn't require any PIC flags, everything is PIC.
+		# This may not be the case for osf ports to other machines, so
+		# hence the more specific match for target.
+		#
+		# Also, `-shared' works with the vendor compiler or gcc.
+		# -expect_unresolved turns off warnings about unresolved symbols.
+		DYNLINK_MOD_CFLAGS='-shared -Wl,-expect_unresolved,\*'
         ;;

     *-netbsd*)