From: pinard@icule.UUCP (Francois Pinard)
Subject: Oleo 1.0 installation report
Reply-To: pinard@iro.umontreal.ca
Organization: GNUs Not Usenet
Distribution: gnu
Date: Sun, 8 Nov 1992 18:00:16 GMT

This pertains to GNU Oleo 1.0 installation, using GNU C 1.41 under
COFF encapsulation, on a 386/ix 2.0.2 system, waiting for Hurd :-).
This is only a partial report, lacking time of doing better for now.

* As already reported, the BUGS file is missing a line.  I am also
sending a copy of this to <lord@gnu.ai.mit.edu> whom *might* be the
Oleo maintainer, I am not sure.  I previously communicated some Oleo
0.03.[12] reports to Jay Fenlason, which reports might could be lost
by now.  I never received acknowledgement nor reply, in any case.
Would the current maintainer tell me where should I resubmit these old
articles?

* There is no ChangeLog.  There should be one as per GNU standards.

* The autoconfiguration process ends with:

	[...]
	checking for vprintf
->	checking for -1
	creating config.status
	creating Makefile

Here is a correction:

--- 1.1	1992/11/08 17:00:12
+++ configure.in	1992/11/08 17:01:27
@@ -18,5 +18,6 @@
 AC_HAVE_HEADERS(X11/X.h)
 dnl checks for functions
 AC_REPLACE_FUNCS(_doprnt random ualarm)
+undefine([index])dnl
 AC_HAVE_FUNCS(ualarm setitimer rint rename vprintf index)
 AC_OUTPUT(Makefile)

* There are two (and only two) references to USG:

	io_curses.c:26:#undef USG
	io_edit.c:24:#undef USG

If they have no useful purpose, these lines might be deleted.

* Because <time.h> is included both in eval.c and in sysdef.h, one gets:

	gcc -ansi -Di386 -O -c -g  -DSYSV=1 -DHAVE_VPRINTF=1  eval.c
	In file included from sysdef.h:31, from eval.c:62:
	/usr/include/time.h:10: redefinition of `struct tm'

I removed the include of <time.h> in eval.c.

* Because "time.h" is included in print.c *after* global.h, which
includes sysdef.h, which includes <time.h>, one gets:

	gcc -ansi -Di386 -O -c -g  -DSYSV=1 -DHAVE_VPRINTF=1  print.c
	In file included from print.c:21:
	/usr/include/time.h:10: redefinition of `struct tm'

I removed the include in "time.h" in print.c.  Besides, there is no
local file named time.h.

* The `inline' keyword is verboten in ANSI C.  This yields:

	gcc -ansi -Di386 -O -c -g  -DSYSV=1 -DHAVE_VPRINTF=1  lists.c
	lists.c:60: parse error before `void'
	lists.c:74: parse error before `void'
	lists.c:100: parse error before `void'
	lists.c:116: parse error before `void'
	lists.c:217: parse error before `void'
	lists.c:250: parse error before `void'
	lists.c:362: parse error before `void'

This patch is inspired from an advice given in GNU C documentation:

--- 1.1	1992/11/08 17:34:16
+++ lists.c	1992/11/08 17:35:25
@@ -18,7 +18,9 @@
 #define malloc_chain_check(x)
 #endif
 
-#ifndef __GNUC__
+#ifdef __GNUC__
+#define inline __inline__
+#else
 #define inline
 #endif
 
* Here are, in a unsorted bunch, the remaining compilation errors and
warnings.  If I have more time, I might take a deeper look.  That
would certainly not be before a few days, however...

cd /usr0/tmp/oleo-1.0/
make -k
gcc -ansi -Di386 -O -c -g  -DSYSV=1 -DHAVE_VPRINTF=1  io_term.c
io_term.c: In function real_get_chr:
io_term.c:539: `TRUE' undeclared (first use this function)
io_term.c:539: (Each undeclared identifier is reported only once
io_term.c:539: for each function it appears in.)
io_term.c:541: `ERR' undeclared (first use this function)
io_term.c:547: `FALSE' undeclared (first use this function)
io_term.c: In function do_bind_key:
io_term.c:3766: argument `vector' doesn't match function prototype
io_term.c:3766: a formal parameter type that promotes to `int'
io_term.c:3766: can match only `int' in the prototype
io_term.c:3766: argument `code' doesn't match function prototype
io_term.c:3766: a formal parameter type that promotes to `int'
io_term.c:3766: can match only `int' in the prototype
make: *** [io_term.o] Error 1
gcc -ansi -Di386 -O -c -g  -DSYSV=1 -DHAVE_VPRINTF=1  io_utils.c
io_utils.c: In function cell_value_string:
io_utils.c:353: argument `row' doesn't match function prototype
io_utils.c:353: argument `col' doesn't match function prototype
make: *** [io_utils.o] Error 1
gcc -ansi -Di386 -O -c -g  -DSYSV=1 -DHAVE_VPRINTF=1  io_curses.c
/usr/include/curses.h:26: warning: SYSV redefined
io_curses.c:56: warning: `struct sgttyb' declared inside parameter list
io_curses.c:56: warning: its scope is only this definition or declaration,
io_curses.c:56: warning: which is probably not what you want.
io_curses.c: In function _io_nodelay:
io_curses.c:446: `_curses_fns' undeclared (first use this function)
io_curses.c:446: (Each undeclared identifier is reported only once
io_curses.c:446: for each function it appears in.)
make: *** [io_curses.o] Error 1
gcc -ansi -Di386 -O -c -g  -DSYSV=1 -DHAVE_VPRINTF=1  print.c
make: Target `all' not remade because of errors.

Compilation exited abnormally with code 1 at Sun Nov  8 12:50:20

-- 
Franc,ois Pinard        ``Vivement GNU!''       pinard@iro.umontreal.ca
(514) 588-4656                                   ...!uunet!iros1!pinard
About the League for Programming Freedom?  Email me or lpf@uunet.uu.net