[gnu.utils.bug] make 3.54 and HP-UX

barrett%hpisldab@HPLABS.HP.COM (Dave Barrett) (08/04/89)

Greetings,

I have (I think) gotten gnu make to port to Hewlett-Packard 9000/300 HP-UX
6.5.   I had a couple of problems though, and some things I am unsure about.

HP-UX is a System V derivitive, but it has a number of BSD things and some
slight differences (enough to be a big pain actually)

The biggest problems I see are with signal handling in job.c and with
filename lengths in glob.c.  HP-UX supports both system-V style 14-char
filenames and BSD-style long filenames.  I'm havn't dived enough into it
to tell how to use what.  HP's signal handling may also be either
sys-V or BSD.  (It has sigmask, wait3, signal, and a bsd style routine
called "sigvector")

Is USG really the same as system-V?

I'm concerned whether my hacks to job.c are correct.  I don't really know
what HP-UX will do in this context.  If I sent you a man page on these
routines would it help?

In any case, here is what I had to do:

Dave Barrett 
barrett%hpisldab@hplabs.hp.com


1) Got a copy of alloca.
2) Patched job.c, and glob.c (in following messages)
3) Edited Makefile:

   CFLAGS = $(defines) -O
   LDFLAGS = -O
   defines = -O -DUSG -DHAVE_SYS_WAIT -DHPUX
   LOAD_AVG = -DKERNEL_FILE=\"/hp-ux\"
   ALLOCA = alloca.o
   ALLOCASRC = alloca.c

---Bug1: job.c won't compile.

"job.c", line 144: child_handler undefined
"job.c", line 210: operands of CAST have incompatible types
"job.c", line 210: operands of & have incompatible types
"job.c", line 210: operands of & have incompatible types
"job.c", line 879: errno undefined
"job.c", line 879: EMFILE undefined

---Bug2:

ld: Undefined external -
	_rindex
	_getdtablesize
ld: output file still contains undefined symbols

ld: (Warning) did not generate an output file

fkittred@bbn.com (Fletcher Kittredge) (08/04/89)

In article <8908032331.AA20915@hpisldab.HP.COM> barrett%hpisldab@HPLABS.HP.COM (Dave Barrett) writes:
>
[ Various problems getting gmake to work under HP-UX ]

You didn't say what version of gmake you where trying to build.  3.48
works fine for me without modification.  Since you had problems with
jobs.c, I assume you where trying to build 3.54.

The problems below can be solved by including the -lBSD library.

>ld: Undefined external -
>	_rindex
>	_getdtablesize
>ld: output file still contains undefined symbols
>
>ld: (Warning) did not generate an output file

happy hacking!
fletcher


Fletcher E. Kittredge  fkittred@bbn.com