Return to BSD News archive
Path: sserve!manuel!munnari.oz.au!uunet!pmafire!news.dell.com!swrinde!sdd.hp.com!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!ljo From: ljo@r2d2.eeap.cwru.edu (L. Jonas Olsson) Newsgroups: comp.unix.bsd Subject: [386BSD] xview3 for 386BSD Date: 17 Sep 1992 17:10:13 GMT Organization: Case Western Reserve Univ. Cleveland, Ohio (USA) Lines: 133 Message-ID: <19ae5mINNf01@usenet.INS.CWRU.Edu> NNTP-Posting-Host: johnny5.eeap.cwru.edu Summary: xview3 port available Keywords: xview3, olwm A partially working xview3 port is uploaded to nova.cc.purdue.edu in the pub/386bsd/submissions/xview3 directory. The port has working versions of olwm, olwmslave, and clock. (This will give you a spiffy sun-like desktop) The xview library itself is also supplied, but might have problems with the textsw and ttysw portions. It does work for compiling and running many (all I tried) of the examples in the xview3 distribution. Send bug fixes/reports to ljo@murphy.eeap.cwru.edu Jonas P.S. Any binaries for emacs, kermit, libg++-2.2, f2c, linpack, eispack, blas, lapack available? (I'm running out of diskspace and time.) Here's the README.xview: Notes for compiling/using xview3 on 386BSD ------------------------------------------ By: Jonas Olsson (ljo@murphy.eeap.cwru.edu) Date: Sep 17, 1992 These notes should (hopefully) help you to compile xview3 as supplied from export.lcs.mit.edu in directory contrib/xview3 for running on 386BSD with the X386 version from agate's incoming/X386 directory. It has not been tested thoroughly, but I have managed to compile most of it (all libraries, all clients, all utils, and some of the examples). The binary distribution is a splitted compress tar archive, that you unpack with "cat xview_b.a*|zcat|tar xvf -". If you do this while you're in /usr all the pieces will end up in their correct places in /usr/X386[bin, lib, include]. There is also a manifest that gives the checksums for the parts. The programs from the clients directory that are supplied are: clock, olwm, and olwmslave. Cmdtool had problems with "unappropriate ioctl for device", and sigwinch (makes the keyboard stop responding). Textedit and props had problems with locale, there is no LC_MESSAGES locale in 386BSD, so perhaps the complete xview library should be compiled without locale (see XView.cf). The programs in contrib/examples, that I tried to run, all compiled and run, but as they are pretty uninteresting I'm not supplying them. By accident the diff file also contains the Patch02 diffs that were released by Sun. This means that this patch is the only one you need (and it's hard to find my patches within the huge Patch02). I also found a patch to bsd386 at nic.funet.fi in (might be wrong) pub/unix/386ix/bsd386/xview, I looked over that patch but didn't find anything new there. When compiling xview clients you also have to link with the remote procedure call library (-lrpc). In the makefiles for clients and examples you can insert a -lprc in the LDLIBS, like this:"LDLIBS = -lrpc <all the rest>". Also the c library doesn't have a strtod function and the math library is missing the rint function, so you either modify your library or supply the strtod.o and rint.o respectively when compiling. The supplied binaries have crude hacks for these functions. I don't know if my txt_again.c works, it is pretty ugly low-level stuff. In general I think the problems with the port are likely to be contained to the textsw and ttysw portions of libxview. Changes to 386bsd's include files --------------------------------- - Add _IN_H_ wrapper around /usr/include/netinet.h - Add _WAIT_H_ wrapper around /sys/include/sys/wait.h - Edit /usr/include/rpc/types.h lines 40, 41 put #ifndef FALSE, #endif and #ifndef TRUE, #endif around the #define's To avoid running out of memory ------------------------------ - limit datasize 12M Changes/notes on my compilation of the xview source code -------------------------------------------------------- - Apply Patch2 from export.lcs.mit.edu in /contrib/xview3/Fixes (Patch01 is only documentation so it's not necessary) - Edit config/XView.cf -- No LOCALE ? -- Install Pixrect headers - Remove trailing spaces in Imakefiles in -- lib/libxview/base -- lib/libxview/misc - Add & before bcopy in site.c - Add #include "i18n_impl.h" to lib/libxview/gettext.c - Add #include <locale.h> to lib/libxview/help/help_file.c - Use xv_fcntl in ndet_fcntl xv_use_xvfcntl - Warnings from lib/libxview/io_streams/str_strms.c line 23, 54 useless keyword or type in declaration - Warnings from lib/libxview/io_streams/file_strms.c lines 23, 162 same - Warning from lib/libxview/io_streams/dhr_strms.c line 23 same - Warning from lib/libxview/misc/getlogindr.c line 27 type mismatch with previous external decl. /usr/include/pwd.h line 75 - Warning from lib/libxview/misc/expandname.c line 123 arg #1 passing between incompatible pointer types - Warning from lib/libxview/notify/ndet_auto.c line 153 arg #1 passing between incompatible pointer types - Edit lib/libxview/notify/ndet_read line 36 use args (int, void *, size_t) - Warnings from lib/libxview/textsw/ei_text.c lines 1459, 1466 comparison always 0 (1) due to limited range of data type - Edit lib/libxview/textsw/txt_again.c line 204-216, 603-622 Using the fields _base, _ptr, _cnt, _bufsize of FILE that don't exist. I looked at filesystem/usr/src/lib/libc/[sscanf.c, sprintf.c]. - Add #define USE_OLD_TTY in portable.h (should not be in build but in lib/libxview/misc ?) - Warning tty_init.c line 799 mismatch with /usr/include/pwd.h line 75 getpwuid - tty_ntfy.c --remove arg on line 98 to getpgrp - In lib/libxview/win/win_blocking_wait.c line 98 Args #2, 3, 4 incompatible - remove traing spaces (after \) in Imakefiles for olwm and olwmslave - In clients/olwm/slave.c use the same thing as ultrix does. - in lib/libxview/notify/ndet_loop.c use the notify_select - clients/cmdtool doesn't run well -- doesn't find .text_extras_menu it finds it if you have it in your HOME -- doesn't find /etc/utmp if it doesn't exist (n -s /var/run/utmp /etc) -- warning: no access to tty (inappropriate ioctl for device) Thus no job control in this shell - contrib/examples/scrollbar/scroll_cells can't load font icon - contrib/examples/scrollbar/scroll_cells2 one row in output is messed up/. - Read the README in the xview3 directory about how to compile. - Do the setenv IMAKEINCLUDE as described. - make Makefiles. - The make World died on the first attempt, but without changing anything it will work on the second. (It complains about directory build) - make install - make Clients