[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
19991001: Making McIDAS on OSF/1 4.0F
- Subject: 19991001: Making McIDAS on OSF/1 4.0F
- Date: Fri, 01 Oct 1999 16:00:34 -0600
>From: Erick Lorenz (address@hidden) <address@hidden>
>Organization: UC Davis
>Keywords: 199910011836.MAA28054 McIDAS-X DEX OSF/1 4.0F Tcl
Erick,
>I am trying to "make all" McIDAS 7.6 on ATM25 a DEC Alpha running
>OSF/1 4.0F or as Compaq perfers to call it TRU64 Unix 4.0F.
I have not tried a build on 4.0F...
>The make stopped with the following series of messages:
>========================================================================
>(cd ../tcl/unix && make)
>/bin/c89 -c -O -I./../generic -I. -DHAVE_GETCWD=1 -DHAVE_UNISTD_H=1 -
>DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1
>-DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS
>=1 -DNO_UNION_WAIT=1 -DNEED_MATHERR=1 -DRETSIGTYPE=void -DHAVE_SIGNED_CHAR=
>1 -DHAVE_SYS_IOCTL_H=1 -DUSE_FIONBIO=1 -DTCL_SHLIB_EXT=\".so\" ./
>tclUnixChan.c
>cc: Error: ./tclUnixChan.c, line 2464: Missing ";". (nosemi)
> static fd_mask readyMasks[3*MASK_SIZE];
>-------------------^
>cc: Warning: ./tclUnixChan.c, line 1665: In this statement, the referenced
>type of the pointer value "&size" is "int", which is not compatible with
>"unsigned long". (ptrmismatch)
> if (getpeername(statePtr->fd, (struct sockaddr *) &peername, &size)
>---------------------------------------------------------------------^
>cc: Warning: ./tclUnixChan.c, line 1708: In this statement, the referenced
>type of the pointer value "&size" is "int", which is not compatible with
>"unsigned long". (ptrmismatch)
> if (getsockname(statePtr->fd, (struct sockaddr *) &sockname, &size)
>---------------------------------------------------------------------^
>cc: Warning: ./tclUnixChan.c, line 2229: In this statement, the referenced
>type of the pointer value "&len" is "int", which is not compatible with
>"unsigned long". (ptrmismatch)
> newsock = accept(sockState->fd, (struct sockaddr *)&addr, &len);
>--------------------------------------------------------------^
>cc: Error: ./tclUnixChan.c, line 2498: In this statement, "readyMasks" is
>not declared. (undeclared)
> memset((VOID *) readyMasks, 0, 3*MASK_SIZE*sizeof(fd_mask));
>--------------------^
>*** Exit 1
>Stop.
>*** Exit 1
>Stop.
>=======================================================================
>These are the messages that come to the screen. They are not echoed
>in the makelog.
Right, the build of Tcl and Tk stuff is not logged into makefile.
>Are these really syntax errors or am I missing some include files again?
It looks like an include problem since the code at which the first error
occurs is using a defined variable type:
Tcl_Time abortTime, now;
struct timeval blockTime, *timeoutPtr;
int index, bit, numFound, result = 0;
static fd_mask readyMasks[3*MASK_SIZE];
/* This array reflects the readable/writable
* conditions that were found to exist by the
* last call to select. */
I did a quick search for 'fd_mask' on my OSF/1 4.0E box and found it in
sys/select.h:
ifndef _XOPEN_SOURCE_EXTENDED
typedef struct fd_set {
fd_mask fds_bits[fds_howmany(FD_SETSIZE, FD_NFDBITS)];
} fd_set;
#define FD_SET(n, p) ((p)->fds_bits[(n)/FD_NFDBITS] |= (1L << ((n) % FD_NFDBI
TS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/FD_NFDBITS] &= ~(1L << ((n) % FD_NFDB
ITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/FD_NFDBITS] & (1L << ((n) % FD_NFDBIT
S)))
#else
typedef struct {
long fds_bits[_fds_howmany(FD_SETSIZE, FD_NFDBITS)];
} fd_set;
The error message is complaining about a missing semi-colon at the
location of fd_mask which seems to be telling us that the compiler
doesn't know what an fd_set type is (I am not positive about this,
however).
This is a strange problem since it is in the Tcl, not McIDAS code.
I can probably help you troubleshoot this next Thursday. Right now,
I have to prepare for a trip; sorry.
>Thanks
>Erick Lorenz, LAWR, UCDavis
Tom