FW: Compile Problems under HP-UX 10.20

Gray.AndrewJ@Corp Svcs gray.andrewj@police.qld.gov.au
Wed Jul 11 05:26:01 2001


I don't know if this got through or not...
----------------------------------------------------
Hi,

I am new to this so please forgive me if I've missed something obvious.
I'll
try and give as much info as possible:

I am having some compile problems with gnupg-1.0.6.  I have tried to
compile
it with the standard HP-UX compiler (which is a pretty dumb compiler).=20
Things were failing everywhere, so I tried to compile on another machine
which has the HP-ANSI C compiler installed.  Also, it has some gnu tools
on
it (including gcc, but I don't think gcc works, so I removed the
/opt/gnu/bin/gcc file so makefiles didn't try to use it) and so I am
using
the gnu make utility (see end of e-mail for particulars).

I ran a ./configure --prefix=3D/opt/gnupg and it runs nicely for a while
(output is appended onto the end of this e-mail).  Then I run a make and
this
is the end part of the output of the make command:

cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c trees.c
cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c zutil.c
cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c inflate.c
cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c infblock.c
cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c inftrees.c
cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c infcodes.c
cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c infutil.c
cc -DHAVE_CONFIG_H -I. -I. -I..     -g -Ae -D_HPUX_SOURCE -c inffast.c
rm -f libzlib.a
ar cru libzlib.a adler32.o compress.o crc32.o uncompr.o deflate.o
trees.o
zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o=20
ranlib libzlib.a
make[2]: Leaving directory `/tmp/gnupg/gnupg-1.0.6/zlib'
Making all in util
make[2]: Entering directory `/tmp/gnupg/gnupg-1.0.6/util'
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../intl    -g -Ae
-D_HPUX_SOURCE -c g10u.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../intl    -g -Ae
-D_HPUX_SOURCE -c logger.c
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../intl    -g -Ae
-D_HPUX_SOURCE -c fileutil.c
cc: "../include/ttyio.h", line 27: error 1000: Unexpected symbol:
"const".
cc: "../include/ttyio.h", line 27: error 1000: Unexpected symbol: "...".
make[2]: *** [fileutil.o] Error 1
make[2]: Leaving directory `/tmp/gnupg/gnupg-1.0.6/util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gnupg/gnupg-1.0.6'
make: *** [all-recursive-am] Error 1
isbsvr07:/tmp/gnupg/gnupg-1.0.6 #=20

As you can see, I am getting a funny error.

An extract from the problem file (include/ttyio.h) shows this:
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA
 */
#ifndef G10_TTYIO_H
#define G10_TTYIO_H

int tty_batchmode( int onoff );
#if __GNUC__ > 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ >=3D 5 )
 void tty_printf (const char *fmt, ... ) __attribute__ ((format
(printf,1,2)));
#else
/* NB. this is line 27 */ void tty_printf  const char *fmt, ... );
#endif
void tty_print_string( byte *p, size_t n );
void tty_print_utf8_string( byte *p, size_t n );
void tty_print_utf8_string2( byte *p, size_t n, size_t max_n );
char *tty_get( const char *prompt );
char *tty_get_hidden( const char *prompt );
void tty_kill_prompt(void);
int tty_get_answer_is_yes( const char *prompt );
int tty_no_terminal(int onoff);

#endif /*G10_TTYIO_H*/
~

Now, I changed the line in question to look like this:
void tty_printf ( const char *fmt, ... );
and ran another make.  I don't know if I should have edited the source
file
like this...it just seemed logical to have the parenthesis.  But anyway,
It
compiled further and then I got this message:
cc: "rmd160.c", line 628: warning 604: Pointers are not
assignment-compatible.
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../intl    -g -Ae
-D_HPUX_SOURCE -c md5.c
cc: "md5.c", line 404: warning 604: Pointers are not
assignment-compatible.
rm -f libcipher.a
ar cru libcipher.a cipher.o pubkey.o md.o dynload.o des.o twofish.o
blowfish.o cast5.o rijndael.o elgamal.o rsa.o primegen.o random.o dsa.o
g10c.o smallprime.o construct.o rndunix.o sha1.o rmd160.o md5.o
ranlib libcipher.a
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../intl    -g -Ae
-D_HPUX_SOURCE -DIS_MODULE +Z -o rndlinux ./rndlinux.c
cc: "rndlinux.c", line 188: warning 604: Pointers are not
assignment-compatible.
/usr/ccs/bin/ld: Unsatisfied symbols:
   g10_log_fatal (code)
   g10_log_error (code)
   main
make[2]: *** [rndlinux] Error 1
make[2]: Leaving directory `/tmp/gnupg/gnupg-1.0.6/cipher'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gnupg/gnupg-1.0.6'
make: *** [all-recursive-am] Error 1
isbsvr07:/tmp/gnupg/gnupg-1.0.6 #=20

Can anyone please help me with these strange problems pretty please?

Thanks so much for any assistance.

- Andrew Gray
Gray.AndrewJ@police.qld.gov.au

(PS.  Are there any security problems with using this product under
HP-UX?=20
I've read something about the random generator causing problems...what
does
this mean?)





----------------------------------------------------------------
./configure output
isbsvr07:/tmp/gnupg/gnupg-1.0.6 # ./configure --prefix=3D/opt/gnupg
creating cache ./config.cache
checking host system type... hppa1.1-hp-hpux10.20
checking target system type... hppa1.1-hp-hpux10.20
checking build system type... hppa1.1-hp-hpux10.20
checking for a BSD compatible install... /opt/imake/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... missing
checking for mawk... no
checking for gawk... no
checking for nawk... no
checking for awk... awk
checking which static random module to use... default
checking whether use of /dev/random is requested... yes
checking whether use of extensions is requested... yes
checking whether assembler modules are requested... yes
checking whether memory guard is requested... no
checking whether included zlib is requested... no
checking whether use of capabilities is requested... no
checking whether to enable maintainer-specific portions of Makefiles...
no
checking whether make sets ${MAKE}... (cached) yes
checking whether build environment is sane... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... missing
checking for gcc... no
checking for cc... cc
checking whether the C compiler (cc  ) works... yes
checking whether the C compiler (cc  ) is a cross-compiler... no
checking whether we are using GNU C... no
checking whether cc accepts -g... yes
checking how to run the C preprocessor... cc -E
checking for strerror in -lcposix... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGEFILE_SOURCE value needed for large files... 1
checking for _LARGE_FILES value needed for large files... no
checking for _XOPEN_SOURCE value needed for large files... no
checking for a BSD compatible install... /opt/imake/bin/install -c
checking for mawk... (cached) awk
checking for docbook-to-man... no
checking for faqprog.pl... no
checking for docbook2texi... no
checking for sgml to texi tools... no
checking for BSD-compatible nm... /usr/ccs/bin/nm -p
checking command to parse /usr/ccs/bin/nm -p output... no
checking for _ prefix in compiled symbols... no
checking for option to create PIC... +Z
checking how to specify -export-dynamic... -Wl,-E
checking for ranlib... ranlib
checking for ANSI C header files... yes
checking for working const... yes
checking for inline... no
checking for off_t... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for unistd.h... yes
checking for getpagesize... yes
checking for working mmap... no
checking whether we are using the GNU C Library 2.1 or newer... no
checking for argz.h... no
checking for limits.h... yes
checking for locale.h... yes
checking for nl_types.h... yes
checking for malloc.h... yes
checking for stddef.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for feof_unlocked... yes
checking for fgets_unlocked... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... no
checking for munmap... yes
checking for putenv... yes
checking for setenv... no
checking for setlocale... yes
checking for stpcpy... no
checking for strchr... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strtoul... yes
checking for tsearch... yes
checking for __argz_count... no
checking for __argz_stringify... no
checking for __argz_next... no
checking for iconv... yes
checking for iconv declaration...=20
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t
*inbytesleft,
char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for libintl.h... no
checking for msgfmt... msgfmt
checking for gmsgfmt... msgfmt
checking for xgettext... :
checking for bison... no
checking for catalogs to be installed...  da de eo es_ES et fr id it ja
nl pl
pt_BR pt_PT sv tr
checking for gdbm.h... no
checking for gethostbyname in -lnsl... no
checking for socket in -lsocket... no
checking for gethostbyname in -lnsl... (cached) no
checking for dlopen in -ldl... no
checking for dlopen... no
checking for shl_load in -ldld... yes
checking for ANSI C header files... (cached) yes
checking for unistd.h... (cached) yes
checking for langinfo.h... yes
checking for termio.h... yes
checking for working const... (cached) yes
checking for inline... (cached) no
checking for size_t... (cached) yes
checking return type of signal handlers... void
checking for sys_siglist declaration in signal.h or unistd.h... no
checking endianess... big
checking for byte typedef... no
checking for ushort typedef... yes
checking for ulong typedef... no
checking for u16 typedef... no
checking for u32 typedef... no
checking size of unsigned short... 2
checking size of unsigned int... 4
checking size of unsigned long... 4
checking size of unsigned long long... 8
checking for vprintf... yes
checking for strerror... yes
checking for stpcpy... (cached) no
checking for strlwr... no
checking for stricmp... no
checking for tcgetattr... yes
checking for rand... yes
checking for strtoul... (cached) yes
checking for mmap... yes
checking for memmove... yes
checking for gettimeofday... yes
checking for getrusage... yes
checking for gethrtime... no
checking for setrlimit... yes
checking for clock_gettime... yes
checking for memicmp... no
checking for atexit... yes
checking for raise... yes
checking for getpagesize... (cached) yes
checking for strftime... yes
checking for nl_langinfo... yes
checking for waitpid... yes
checking for wait4... no
checking for sigaction... yes
checking for sigprocmask... yes
checking for fseeko... yes
checking for mlock... yes
checking whether mlock is broken... yes
checking for sys/stat.h... yes
checking for unistd.h... (cached) yes
checking for direct.h... no
checking if mkdir takes one argument... no
checking for sys/ipc.h... yes
checking for sys/shm.h... yes
checking whether IPC_RMID allowes subsequent attaches... no
checking whether SHM_LOCK is available... yes
checking for random device... no
configure: warning:=20
***
*** The performance of the UNIX random gatherer module is not very good
*** and it does not keep the entropy pool over multiple invocations of
*** GnuPG.  The suggested way to overcome this problem is to use the
***
***               Entropy Gathering Daemon (EGD)
***
*** which provides a entropy source for the whole system.  It is written
*** in Perl and available at the GnuPG FTP servers.  For more
information
*** consult the GnuPG webpages:
***
***           http://www.gnupg.org/download.html#egd
***
*** You may want to run ./configure with --enable-static-rnd=3Dnone to =
be
*** able to load the EGD client code dynamically; this way you can
choose
*** between RNDUNIX and RNDEGD without recompilation.
***
dynamically linked cipher modules: rndlinux rndegd tiger=20
statically linked cipher modules: rndunix sha1 rmd160 md5=20
checking for mpi assembler functions... done
mpi extra asm functions: udiv-qrnnd=20
checking for zlib.h... no
updating cache ./config.cache
creating ./config.status
creating Makefile
creating intl/Makefile
creating po/Makefile.in
creating util/Makefile
creating mpi/Makefile
creating cipher/Makefile
creating g10/Makefile
creating doc/Makefile
creating tools/Makefile
creating zlib/Makefile
creating checks/Makefile
creating config.h
linking ./mpi/hppa1.1/udiv-qrnnd.S to mpi/udiv-qrnnd.S
linking ./mpi/hppa/mpih-add1.S to mpi/mpih-add1.S
linking ./mpi/hppa1.1/mpih-mul1.S to mpi/mpih-mul1.S
linking ./mpi/hppa1.1/mpih-mul2.S to mpi/mpih-mul2.S
linking ./mpi/hppa1.1/mpih-mul3.S to mpi/mpih-mul3.S
linking ./mpi/pa7100/mpih-lshift.S to mpi/mpih-lshift.S
linking ./mpi/pa7100/mpih-rshift.S to mpi/mpih-rshift.S
linking ./mpi/hppa/mpih-sub1.S to mpi/mpih-sub1.S
linking ./mpi/generic/mpi-asm-defs.h to mpi/mpi-asm-defs.h
linking ./zlib/zlib.h to zlib.h
linking ./zlib/zconf.h to zconf.h
creating po/POTFILES
creating po/Makefile
g10defs.h created
isbsvr07:/tmp/gnupg/gnupg-1.0.6 #=20


Make Version:
isbsvr07:/tmp/gnupg/gnupg-1.0.6 # make --version
GNU Make version 3.70, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.


**********************************************************************
This email and any files transmitted with it are confidential and 
intended solely for the use of the individual or entity to whom they   
are addressed. If you have received this email in error please notify 
mimesweeper@police.qld.gov.au.

This footnote also confirms that this email message has been swept by 
MIMEsweeper for the presence of computer viruses.
**********************************************************************