[comp.unix.ultrix] Problems building Nntp.1.5.11

mms@bnlux0.bnl.gov (Morris Strongson) (03/12/91)

    First, I would like to thank all those who answered previous questions.
Now the latest iteration:

    We are running Ultrix 4.1 on a DECsystem 5000 (RISC machine) and are
trying to build Nntp.1.5.11 on it.  Since Ultrix 4.1 is a BSD 4.3
derivative, and since it supports ndbm, the following lines are in
common/conf.h:

|#undef	BSD_42		/* 4.2 compatability code -- if this is defined, */
|			/* DBM probably wants to be defined as well. */
|
|#define BSD_43		/* Define if you are running on BSD 4.3 */
|
|#define NDBM		/* Use new-style (4.3) ndbm(3x) libraries */
|
|#undef	DBM		/* True if we want to use the old dbm(3x) libraries */
|

    However, we run into this problem, which kills the build:

|
|cd xfer; make  "LIBS=-ldbm" "CFLAGS=-O -I/usr/lib/dbz.o "
|cc -O -I/usr/lib/dbz.o  -c nntpxfer.c
|ccom: Error: /usr/include/ndbm.h, line 70: syntax error
|      } datum;
|      ------^
|*** Error code 1
|
|Stop.
|*** Error code 1
|
|Stop.
|



    This is /usr/include/ndbm.h.  The typedef ending on line 70 in the
original (comment lines have been removed) looks fine (see datum below).
Any idea why this failed, or how to fix it? All help is appreciated.

|------------------------------------------------------
|#define PBLKSIZ 1024
|#define DBLKSIZ 4096
|
|typedef struct {
|	int	dbm_dirf;		/* open directory file */
|	int	dbm_pagf;		/* open page file */
|	int	dbm_flags;		/* flags, see below */
|	long	dbm_maxbno;		/* last ``bit'' in dir file */
|	long	dbm_bitno;		/* current bit number */
|	long	dbm_hmask;		/* hash mask */
|	long	dbm_blkptr;		/* current block for dbm_nextkey */
|	int	dbm_keyptr;		/* current key for dbm_nextkey */
|	long	dbm_blkno;		/* current page to read/write */
|	long	dbm_pagbno;		/* current page in pagbuf */
|	char	dbm_pagbuf[PBLKSIZ];	/* page file block buffer */
|	long	dbm_dirbno;		/* current block in dirbuf */
|	char	dbm_dirbuf[DBLKSIZ];	/* directory file block buffer */
|} DBM;
|
|#define _DBM_RDONLY	0x1	/* data base open read-only */
|#define _DBM_IOERR	0x2	/* data base I/O error */
|
|#define dbm_rdonly(db)	((db)->dbm_flags & _DBM_RDONLY)
|
|#define dbm_error(db)	((db)->dbm_flags & _DBM_IOERR)
|	/* use this one at your own risk! */
|#define dbm_clearerr(db)	((db)->dbm_flags &= ~_DBM_IOERR)
|
|/* for flock(2) and fstat(2) */
|#define dbm_dirfno(db)	((db)->dbm_dirf)
|#define dbm_pagfno(db)	((db)->dbm_pagf)
|

    datum is defined here

|typedef struct {
|	char	*dptr;
|	int	dsize;
|} datum;
|
|/*
| * flags to dbm_store()
| */
|#define DBM_INSERT	0
|#define DBM_REPLACE	1
|
|DBM	*dbm_open();
|void	dbm_close();
|datum	dbm_fetch();
|datum	dbm_firstkey();
|datum	dbm_nextkey();
|long	dbm_forder();
|int	dbm_delete();
|int	dbm_store();
|-------------------------
|
|

                Morris Strongson  INTERNET:  mms@bnlux0.bnl.gov
                                  BITNET:  mms@bnlux0.BITNET
			          UUCP:      ...philabs!sbcs!bnlux0!mms
                                             or    bnlux0!mms@uunet.uu.net