[comp.unix.xenix] Please help me make Perl under Xenix

tbetz@dasys1.uucp (Tom Betz) (05/27/90)

I'm trying unsuccessfully to compile Perl 3.0, PL 8, under Xenix
2.3.1.  I have the PL4 Xenix patch, but it seems to break later
patches, so I have not installed it.  

The make is failing while trying to compile dolist.c with
repetetive "error C2037: left of 'tm_*' specifies undefined
struct/union" messages, where '*' is replaced with
'sec','min','hour','mday','mon','year','wday','yday', and 'isdat'.

It appears that something is wrong with the way it is dealing
with the time libraries.  

Can anyone advise me what I can do to fix this?  Do patches > 8
fix this?  All patches, fixes, and advice are welcome.

Also, is there a Postscript --> nroff translator or Postscript
--> ASCII translator out there, so I can use the Perl reference
manual that was posted recently?  I don't have a Postscript
printer available to me.

Thank you.

-- 
"I don't run - I tend to black my eyes." - D.Parton | hombre!marob!upaya!tbetz
----------------------------------------------------|    tbetz@dasys1.UUCP
"The conventional view serves to protect us         |      Tom Betz - GBS
from the painful job of thinking." - J.K. Galbraith |      (914) 375-1510

campbell@Thalatta.COM (Bill Campbell) (05/28/90)

In article <1990May27.010055.5591@dasys1.uucp> tbetz@dasys1.UUCP (Tom Betz) writes:
>I'm trying unsuccessfully to compile Perl 3.0, PL 8, under Xenix
>2.3.1.  I have the PL4 Xenix patch, but it seems to break later
>patches, so I have not installed it.  
>
>The make is failing while trying to compile dolist.c with
>repetetive "error C2037: left of 'tm_*' specifies undefined
>struct/union" messages, where '*' is replaced with
>'sec','min','hour','mday','mon','year','wday','yday', and 'isdat'.
>
...deleted

The problem is somewhat buggy include files in xenix, particularly 
<time.h> does some typedefs that are duplicated in <sys/types.h>.
I removed the duplicated typedef from <time.h> and inserted an
#include <sys/types.h> in the <time.h> file.

This requires that you put ``wrappers'' on all your include files
so that it doesn't matter if they are included more than once:

#ifndef H_FILENAME	/*{*/
#define H_FILENAME
. body of include
#endif /* H_FILENAME }*/

Where H_FILENAME is unique to each include file.  This allows you
to include the file more than once without problems since the
second time through the first ifndef is false.
-- 
....microsoft--\                    Bill Campbell; Celestial Software
...uw-entropy----!thebes!camco!bill 6641 East Mercer Way
....fluke------/                    Mercer Island, Wa 98040
....hplsla----/                     (206) 232-4164