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