Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!rutgers!bellcore!dino!dana From: dana@dino.bellcore.com (Dana A. Chee) Newsgroups: comp.windows.x Subject: Re: Help compiling XView 2.0 on decstation 3100 Keywords: Xview, dec station, help Message-ID: <1990Dec17.091734@dino.bellcore.com> Date: 17 Dec 90 14:17:34 GMT References: Sender: usenet@bellcore.bellcore.com (Poster of News) Reply-To: dana@thumper.bellcore.com Organization: Packet Communications Research Group (Bellcore) Lines: 124 In article , putz@boulder.Colorado.EDU (Eric Putz) writes: |> While attempting to compile XView 2.0, I get the following error: |> |> making all in ./lib/libxvin/notify... |> rm -f ndet_loop.o |> cc -c -O -Wf,-XNh2000 -Olimit 2000 -I../../../. -I../../.././build/usr/include |> ndet_loop.c |> cpp: warning /usr/include/stdio.h:84: NULL redefined |> cpp: warning /usr/include/rpc/types.h:63: FALSE redefined |> cpp: warning /usr/include/rpc/types.h:64: TRUE redefined |> ccom: Error: ndet_loop.c, line 171: svc_fdset undefined |> (void) ntfy_fd_cpy_or (&ibits, &svc_fdset); |> -----------------------------------------------^ |> ccom: Error: ndet_loop.c, line 278: operands of = have incompatible types |> rpc_bits = svc_fdset; |> ------------------------------^ |> *** Error code 1 |> |> Stop. |> |> Upon further investigation, it is found that svc_fdset is defined on a |> sun system (sparcstation 1+) in the file /usr/include/rpc/svc.h. It is |> not defined here, or elsewhere, on the DS3100. We are running OS version 3.1, |> and have a 4.0 machine also available to us. It is not defined on either |> machine. |> |> So my question is, has anyone ported XViews 2.0 to the DS, and if so, what is |> the workaround? |> |> Thanks in advance, |> |> eric. |> +--------- |> |Eric Putz (303)492-1474 |> |MCD Biology, Campus Box 347, University of Colorado, Boulder CO 80309 |> |putz@Boulder.Colorado.EDU Ah yes, the 3100/5000 stuff. Well, I at least got the libraries to compile (I still have to work on the clients). ndet_loop will not be your only problem. But first, the patch to ndnet_loop.c *** ndet_loop.c.or Thu Aug 9 23:47:09 1990 --- ndet_loop.c Mon Dec 17 09:14:47 1990 *************** *** 119,124 **** --- 119,127 ---- { register struct timeval *timer; fd_set ibits, obits, ebits; + #ifdef ultrix + fd_set svc_fdset; + #endif register int nfds; NDET_ENUM_SEND enum_send; int errno_remember = errno; *************** *** 127,132 **** --- 130,139 ---- FD_ZERO(&ibits); FD_ZERO(&obits); FD_ZERO(&ebits); + #ifdef ultrix + FD_ZERO(&svc_fdset); + svc_fdset.fds_bits[0] = svc_fds; + #endif /* Notify_start is not reentrant */ if (ndet_flags & NDET_STARTED) { ntfy_set_errno(NOTIFY_INVAL); *************** *** 167,172 **** --- 174,182 ---- ndis_clients != NTFY_CLIENT_NULL) ? &ndet_polling_tv : NTFY_TIMEVAL_NULL; ibits = ndet_ibits; + #ifdef ultrix + svc_fdset.fds_bits[0] = svc_fds; + #endif if (do_rpc) (void) ntfy_fd_cpy_or (&ibits, &svc_fdset); obits = ndet_obits; Now, the next thing you will have to do is to change all #ifdef FILE to #if !(defined (FILE) || defined(_IOREAD)) since Ultrix decided to change FILE from a #define to a typedef The include files involved will be in build/usr/include/xview and build/usr/include/xview_private. Mind you, this probably isn't the proper fix. Moving right along, in lib/libxvin/window/window_set.c, remove the static in front of window_set_cmap_property. Now, the last thing that I remember (i.e., wrote down) was that in lib/pixrect/Imakefile, the includes directive for HEADERS2 (rasterfile.h) put it in the wrong place. Here's the one I used: BuildIncludes($(HEADERS2),$(INCDIR),/**/) Hopefully I didn't forget anything. Happy building. -- +*********************************************************************** ***+ * Dana Chee (201) 829-4488 * * Bellcore * * Room 2Q-250 * * 445 South Street ARPA: dana@bellcore.com * * Morristown, NJ 07960-1910 UUCP: {gateways}!bellcore!dana * +*********************************************************************** ***+