From: mathieu@geod.emr.ca (Pierre Mathieu)
Subject: INFO: GNU products on HP9000s700. Also GCC 2.3.1 on same.
Summary: Which work and which don't and why.
Keywords: GNU GCC 
Organization: Dept. of Energy, Mines, and Resources, Ottawa
Date: Fri, 6 Nov 1992 19:53:59 GMT


For those who may be interested in getting the GNU products for the
HP9000 Series 700 systems HP-UX 8.07, here is a list of the results
I have obtained with the packages available at prep.ai.mit.edu.

All of the results are based on compilation with GCC 2.3.1 and
not on the use of the HP C compiler. A section is included
in the list for applications that did not compile with
GCC but did with HP C.

The last part of the listing contains the applications I can't get to
compile. If you got them to compile with GCC 2.3.1 and can send
me fixes, I'll include them in this list.

Note: To compile GCC 2.3.1 with debugging support, you must have the
      UTAH GAS 1.36 version from jaguar.cs.utah.edu: pa-gas.u3.tar.Z.


GNU products that compile fine:
------------------------------

bison-1.19
cpio-2.1
diff-2.0
emacs-18.58
emacs-18.59       (had troubles with installation although it compiles OK)
fileutils-3.4
find-3.7
flex-2.3.7
gas-1.36.utah     (from jaguar.cs.utah.edu pa-gas.u3.tar.Z)
gcc-2.3.1
gdb-4.6           (with pa-gdb-4.6.tar.Z patches from jaguar.cs.utah.edu)
ghostscript-2.5.2 (and fonts)
gmp-1.2
gptx-0.2
grep-1.6
hello-1.1
indent-1.6
patch-2.0.12u8
perl-4.035
rcs-5.6
sed-1.11
shellutils-1.8
tar-1.11
termcap-1.1
texi2roff-2.0
texinfo-2.16
textutils-1.3



GNU products that don't support (yet?) HP9000/700:
-------------------------------------------------

dld-3.2.3
gas-1.38.1
gdb-4.7
glibc-1.05



GNU products that don't compile because another product doesn't:
---------------------------------------------------------------

autoconf-1.2    (m4-1.0)
groff-1.06      (libg++-2.2)
iostream-0.50   (libg++-2.2)
nihcl-2.2       (libg++-2.2)



GNU products not yet examined (don't have time right now):
---------------------------------------------------------

ae
finger-1.37
gnuchess-4.0
gnugo-1.1
gnuplot-3.2
ispell-2.0.02
ms-0.06
mtools-2.0.7
smalltalk-1.1.1
tile-forth-2.1
xboard-2.0



GNU products not examined (and I don't plan to):
-----------------------------------------------

button.3.00
c-torture-test
dirent
elvis-1.6       (fine on PC; don't care on HP)
f2c-3.2.90      (compilation is more trouble than it's worth)
fax-3.2.1       (don't have a FAX modem)
fgrep-1.1       (too old to be interesting)
malloc-0.1
oleo-0.03.2     (too old to be interesting)
readline-1.1    (GDB 4.6 readline lib compiles just fine)
uucp-1.03       (UUCP on HP is Honey-Danber)
vh-1.3



Other non-GNU products that compile:
-----------------------------------

X11R4 Mit Distribution



GNU products that don't compile with GCC 2.3.1 but do with HP C:
---------------------------------------------------------------

bash-1.12
bc-1.02
binutils-2.0
m4-1.0
make-3.62
screen-3.2b
time-1.4
tput-1.0


And now for the fun stuff.


GNU products that don't compile but have easy fixes:
---------------------------------------------------

1) cperf-2.1

gcc -DLO_CAL -DGATHER_STATISTICS  -O -fstrength-reduce -fomit-frame-pointer -fdelayed-branch -finline-functions  -o gperf options.o iterator.o main.o perfect.okeylist.o listnode.o xmalloc.o hashtable.o boolarray.o readline.o stderr.o version.o getopt.o
ld: Unsatisfied symbols:
   srandom (code)
   random (code)
collect: /bin/ld returned 1 exit status

FIX:

Add 

#define random rand
#define srandom srand

to options.h


2) cvs-1.3

gcc -O -g -DDIRENT -DSTDC_HEADERS -DPOSIX -I. -I../lib    -c subr.c -o subr.o
In file included from subr.c:11:
cvs.h:282: conflicting types for `gethostname'
/usr/include/sys/unistd.h:265: previous declaration of `gethostname'

Fix:

Comment out the line

int gethostname (char *name, int namelen);

in cvs.h



GNU products that don't compile and associated errors:
-----------------------------------------------------


A - getopt problems:

1) bash-1.12

gcc -O -c -g  -DHAVE_VFPRINTF -DHAVE_UNISTD_H -DHAVE_GETGROUPS -DHAVE_RESOURCE -DVOID_SIGHANDLER -DHPUX_70 -DHAVE_WAIT_H  -DHAVE_DUP2 -DHAVE_STRERROR -D"hpux" -DHPUX -DSHELL -DHAVE_ALLOCA  -I/usr/local/gnu/src/bash-1.12 -I/usr/local/gnu/src/bash-1.12/./lib/ -I. -I./lib/ getopts.c
In file included from getopts.c:63:
./getopt.h:95: conflicting types for `getopt'
/usr/include/sys/unistd.h:225: previous declaration of `getopt'

2) bc-1.02

gcc -O -g -D_POSIX_SOURCE   -c bc.c -o bc.o
In file included from bc.c:33:
proto.h:164: conflicting types for `getopt'
/usr/include/stdlib.h:173: previous declaration of `getopt'

3) m4-1.0

gcc -O -g -Ilib -DUSG -DHPUX -c m4.c -o m4.o
In file included from m4.c:22:
lib/getopt.h:99: conflicting types for `getopt'
/usr/include/stdlib.h:173: previous declaration of `getopt'

4) tput-1.0

gcc -O -I. -g -DSTDC_HEADERS   -c getopt.c -o getopt.o
getopt.c: In function `getopt':
getopt.c:254: argument `argv' doesn't match prototype


B - Linker problems:

1) fontutils-0.6 

gcc -O -o limn -L/usr/lib/X11R4 -L/usr/local/lib/X11 -g  curve.o display.o fit.o main.o output-bzr.o pxl-outline.o xserver.o version.o .././lib/lib.a .././gf/gf.a .././pk/pk.a .././bzr/bzr.a .././tfm/tfm.a .././widgets/widgets.a .././lib/lib.a -static -L/usr/lib/X11R4 -L/usr/local/lib/X11 -lXaw -lXmu -lXext -lXt -lX11.././lib/dlsym.o  -lm
ld: R_DATA_ONE_SYMBOL fixup in file .././widgets/widgets.a(Label.o) for code unsat symbol "_XtInherit" - use P' fixup
collect: /bin/ld returned 1 exit status

gcc -O -o xbfe -L/usr/lib/X11R4 -L/usr/local/lib/X11 -g  char.o commands.o kern.o main.o version.o .././lib/lib.a .././gf/gf.a .././pk/pk.a .././tfm/tfm.a .././widgets/widgets.a .././lib/lib.a -static -L/usr/lib/X11R4 -L/usr/local/lib/X11 -lXaw -lXmu -lXext -lXt -lX11 .././lib/dlsym.o  -lm
ld: R_DATA_ONE_SYMBOL fixup in file .././widgets/widgets.a(Bitmap.o) for code unsat symbol "_XtInherit" - use P' fixup
collect: /bin/ld returned 1 exit status

2) ghostview-1.4

gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional -o ghostview main.o misc.o callbacks.o actions.o dialogs.o Ghostview.o ps.o getenv.o setenv.o strcasecmp.o SelFile.o Dir.o Path.o Draw.o -O  -L/usr/lib/X11R4 -lXaw -L/usr/lib/X11R4 -lXmu -L/usr/lib/X11R4 -lXt -L/usr/lib/X11R4 -lXext -L/usr/lib/X11R4 -lX11 -lm
ld: R_DATA_ONE_SYMBOL fixup in file Ghostview.o for code unsat symbol "_XtInherit" - use P' fixup
collect: /bin/ld returned 1 exit status

3) xinfo-1.01.01

gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional -o xinfo xinfo.o Info.o -O  -L/usr/lib/X11R4 -lXaw -L/usr/lib/X11R4 -lXmu-L/usr/lib/X11R4 -lXt -L/usr/lib/X11R4 -lXext -L/usr/lib/X11R4 -lX11 -lm
ld: R_DATA_ONE_SYMBOL fixup in file Info.o for code unsat symbol "_XtInherit" -use P' fixup
collect: /bin/ld returned 1 exit status


Others:

1) binutils-2.0

gcc -O -c -g -DHOST_SYS=HPPAHPUX_SYS -DSELECT_ARCHITECTURES=bfd_hppa_arch -DUSG -I. -I. -I./../include  hppa.c
hppa.c:636: parse error before `_core_file_failing_command'

2) gawk-2.13

gcc     -g -O -fstrength-reduce    -c main.c -o main.o
In file included from awk.h:142, from main.c:26:
regex.h:21: warning: `#pragma once' is obsolete
In file included from awk.h:85, from main.c:26:
protos.h:55: conflicting types for `strftime'
/usr/include/sys/time.h:96: previous declaration of `strftime'
protos.h:67: conflicting types for `fwrite'
/usr/include/stdio.h:192: previous declaration of `fwrite'

3) gdbm-1.5

gcc -g -O -DSYSV   -c gdbmreorg.c -o gdbmreorg.o
In file included from gdbmdefs.h:36, from gdbmreorg.c:31:
systems.h:39: warning: `L_SET' redefined
/usr/include/sys/file.h:121: warning: this is the location of the previous definition
gdbmreorg.c:45: warning: static declaration for `rename' follows non-static
gdbmreorg.c: In function `rename':
gdbmreorg.c:47: argument `old_name' doesn't match prototype
gdbmreorg.c:47: argument `new_name' doesn't match prototype

4) graphics-0.17

lots of errors. Samples:

gcc -g -O -I/usr/include/X11R4 -I/usr/local/include/X11R4 graph.o read_file.o max.o write_plot.o ../getopt/getopt.o ../getopt/getopt1.o ../tek2plot/libplot.a -lm -o graph
ld: R_DATA_ONE_SYMBOL fixup in file write_plot.o for code unsat symbol "ceil" -use P' fixup
collect: /bin/ld returned 1 exit status

gcc -g -O -I/usr/include/X11R4 -I/usr/local/include/X11R4 -o plot2tek plot.o ../getopt/getopt.o ../getopt/getopt1.o libtek.a -lm
ld: Unsatisfied symbols:
   drem (code)
collect: /bin/ld returned 1 exit status

gcc -g -O -I/usr/include/X11R4 -I/usr/local/include/X11R4 -o plot2ps plot.o  ../getopt/getopt.o ../getopt/getopt1.o libps.a -lm
ld: Unsatisfied symbols:
   drem (code)
collect: /bin/ld returned 1 exit status

gcc -g -O -I/usr/include/X11R4 -I/usr/local/include/X11R4 -o plot2fig plot.o ../getopt/getopt.o ../getopt/getopt1.o libfig.a -lm
ld: Unsatisfied symbols:
   re_exec (code)
   re_comp (code)
collect: /bin/ld returned 1 exit status

5) libg++-2.2

gcc -g -nostdinc++ -I.. -I. -I./../iostream   -c Obstack.cc
/usr/include/math.h: In function `int  abs (int)':
In file included from ./builtin.h:33, from Obstack.cc:22:
/usr/include/math.h:185: redefinition of `int  abs (int)'
/usr/include/stdlib.h:62: `int  abs (int)' previously defined here
./Obstack.h: In method `void  Obstack::grow (const void *, int)':
In file included from Obstack.cc:23:
./Obstack.h:124: warning: implicit declaration of function `bcopy'

6) make-3.62

gcc -O -DUSG -DUSGr3 -DHPUX -DHAVE_DUP2  -g  -c load.c
In file included from /usr/include/fcntl.h:9, from load.c:181:
/usr/include/sys/fcntl.h:149: conflicting types for `open'
/usr/include/sys/fcntl.h:149: A parameter list with an ellipsis can't match
/usr/include/sys/fcntl.h:149: an empty parameter name list declaration.
make.h:230: previous declaration of `open'

7) screen-3.2b

gcc -O -c -g  -I. -DETCSCREENRC=\"/usr/local/gnu/lib/screenrc\" ./screen.c
In file included from ./screen.c:333:
./extern.h:57: conflicting types for `wait3'
/usr/include/sys/wait.h:81: previous declaration of `wait3'
./extern.h:73: conflicting types for `crypt'
/usr/include/sys/unistd.h:237: previous declaration of `crypt'
./extern.h:86: conflicting types for `putenv'
/usr/include/stdlib.h:155: previous declaration of `putenv'
./screen.c:343: conflicting types for `select'
/usr/include/sys/time.h:146: previous declaration of `select'
./screen.c: In function `main':
./screen.c:1054: warning: passing arg 2 of `signal' from incompatible pointer type
etc...

8) time-1.4

gcc -O -c -g  -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_RESOURCE_H=1 -DHAVE_STRERROR=1 -DHAVE_DOPRNT=1 -I. time.c
time.c:93: conflicting types for `wait3'
/usr/include/sys/wait.h:81: previous declaration of `wait3'
time.c: In function `run_command':
time.c:636: warning: passing arg 2 of `execvp' from incompatible pointer type
m
--
Pierre Mathieu                          "We have seen the enemy,
Geodetic Survey of Canada                  and the enemy is us."
Ottawa, Canada                                                Pogo
Internet: mathieu@geod.emr.ca
Newsgroups: comp.sys.hp