[comp.lang.modula3] Install Trouble: 1.6b5 on SPARC

mccalpin@perelandra.cms.udel.edu (John D. McCalpin) (03/12/91)

I am having some trouble installing 1.6beta5 on a SPARC.

(1) The sh commands in the Makefile under the target 'config' fail the
first time through with the message: 'test: too many arguments'.
I believe that this is because the config.0 file has the contents
	MACHINE = not configured
and so the argument $$n in the Makefile expands to two words, as in
	if test SPARC != not configured
which gets test upset.
I fixed this by running this statement on my SGI machine instead!

(2) There is an error in system/compiler/misc/String.?? which is
demonstrated in the following log:

chester 288% make system
--- driver starting on Tue Mar 12 08:17:16 EST 1991
--- driver done on Tue Mar 12 08:17:18 EST 1991
--- compiler starting on Tue Mar 12 08:17:18 EST 1991
------ builtinOps starting on Tue Mar 12 08:17:20 EST 1991
------ builtinOps done on Tue Mar 12 08:17:25 EST 1991
------ builtinTypes starting on Tue Mar 12 08:17:25 EST 1991
------ builtinTypes done on Tue Mar 12 08:17:30 EST 1991
------ builtinWord starting on Tue Mar 12 08:17:31 EST 1991
------ builtinWord done on Tue Mar 12 08:17:34 EST 1991
------ exprs starting on Tue Mar 12 08:17:35 EST 1991
------ exprs done on Tue Mar 12 08:17:43 EST 1991
------ misc starting on Tue Mar 12 08:17:43 EST 1991
.ROOT/system/driver/m3.bootstrap -D../Interfaces -w1 -g -c String.mc
"String.m3", line 189: illegal character: '#'
"String.m3", line 189: line undefined
"String.m3", line 189: syntax error at or near constant 187
*** Error code 1
make: Fatal error: Command failed for target `String.mo'
Current working directory /sgi/usr/src/Lang/Modula-3/dist-1.6beta5/system/compil
er/misc
.ROOT/util/imake: Exit code 1.  Stop.
*** Error code 1
make: Fatal error: Command failed for target `fromC'
Current working directory /sgi/usr/src/Lang/Modula-3/dist-1.6beta5/system/compil
er
.ROOT/util/imake: Exit code 1.  Stop.
*** Error code 1
make: Fatal error: Command failed for target `fromC'
Current working directory /sgi/usr/src/Lang/Modula-3/dist-1.6beta5/system
.ROOT/util/imake: Exit code 1.  Stop.
*** Error code 1
make: Fatal error: Command failed for target `system'

I looked in the appropriate files, and I must admit that I have no
idea what is going on!  The only thing I can guess is that some
parentheses or quoting might be unbalanced, so that it tries to
interpret the next #line command in String.mc as part of the text.

Any ideas from someone who knows what is going on?

P.S. By building a dummy String.mo, I was able to get the rest of the
'system' target to compile -- until the load step, when it needs the
String.mo file....
--
John D. McCalpin			mccalpin@perelandra.cms.udel.edu
Assistant Professor			mccalpin@brahms.udel.edu
College of Marine Studies, U. Del.	J.MCCALPIN/OMNET

muller@src.dec.com (Eric Muller) (03/13/91)

Thanks for your report.

> (1) The sh commands in the Makefile under the target 'config' fail the
> first time through ...

What I have done for 1.6beta6 is to change the target util/config.0 in
makefile to echo "not_configured" instead of "not configured".

> (2) There is an error in system/compiler/misc/String.?? which is
> demonstrated in the following log:
> ....

The problem is that the String.mc looks like:

        ... RANGEFAULT (
#line 187
        a, b, c) ....

and RANGEFAULT is a preprocessor macro. Some cpp do not like the
presence of the "#line" in the middle of the macro. I have fixed the
compiler. As a fix, you can move "RANGEFAULT (" after the "#line".


Eric.