[comp.unix.aux] Building tools with A/UX

anderson@csli.Stanford.EDU (Steve Anderson) (08/01/90)

(1) Several messages recently have mentioned problems in building
GNUemacs under A/UX 2.0. I had no trouble doing that, in fact. I used
David Berry's version of gcc-1.37 from apple.com. Picked up the 18.54
sources (with aux mods) there too, and the 18.54-18.55 diffs. Applied
the diffs; noticed there wasn't any aux-2.0 system file, so I chose
the aux-1.1 one. First time around it didn't build, complaining about
"instruction-operand mismatch" when assembling the output of compiling
term.c. I asked David Berry about this; he said to change the name of
the variable PC (to e.g. PadC) in a few files to avoid a
misunderstanding about what kind of variable this is. Once I did this,
"build-install" did just that. And the resulting emacs runs fine, no
visible problems so far.

(2) On the other hand, I can't get akcl to build at all. Using gcc
(either the apple version or the newer one you've been reading
about....), I get "instruction-operand mismatch" errors in a few
files, and essentially every file in the lsp directory (plus some more
- I got tired of keeping track) bombs during the compilation with
"FATAL - symbol L2 redefined" (usually L2 - sometimes L8, L26, or
whatever). This looks vaguely like some sort of syntax problem, so I
tried gcc -traditional, but the same thing happens. Then for a lark I
tried using the A/UX cc (with -B /usr/lib/big/ to get big tables, or
so it looks from the man page). Somewhat to my surprise, everything
compiles....except one file: c/funlink.c which bombs (at line 435)
with a message about excessive tree size. Adding a flag -A16 to
further grow the tables does no good. Somewhat surprisingly, switching
back to gcc at this point, with everything but funlink compiled, the
make goes through: gcc can compile funlink, and load the whole mess.
But then the resulting akcl dies with a complaint about a failure of
rsym. So I'm back to square one, with still no akcl.

By the way, I'm working with akcl-1.-483.tar.Z and kcl.tar.Z from
rascal.ics.utexas.edu (latest versions), and aux-akcl.tar.Z from
cambridge.apple.com, which provides the aux defs and one modified
file.

Can somebody who has gotten akcl to work please give me some pointers?
I've been beating on this for quite a while now, with insufficient
understanding of what I'm doing, and the predictable results. When I
posted about this a couple of days ago, the only response I got was a
call from a salesperson at Franz, offering to sell me ACL.....

Steve Anderson
Cognitive Science Center
The Johns Hopkins University

<anderson@sxapir.cog.jhu.edu>

coolidge@casca.cs.uiuc.edu (John Coolidge) (08/02/90)

anderson@csli.Stanford.EDU (Steve Anderson) writes:
>[...] First time around it didn't build, complaining about
>"instruction-operand mismatch" when assembling the output of compiling
>term.c.

This is fixed if you use register prefixes. The problem is that the
code uses a variable named PC which, without register prefixes, is not
distinguishable from the register pc. With register prefixes, they're
clearly unique symbols.

>(2) On the other hand, I can't get akcl to build at all. Using gcc
>(either the apple version or the newer one you've been reading
>about....), I get "instruction-operand mismatch" errors in a few
>files, and essentially every file in the lsp directory (plus some more
>- I got tired of keeping track) bombs during the compilation with
>"FATAL - symbol L2 redefined" (usually L2 - sometimes L8, L26, or
>whatever). This looks vaguely like some sort of syntax problem, so I
>tried gcc -traditional, but the same thing happens.

I have an idea about the Ln stuff (not having tried it). gcc with gas
puts out local labels as Ln. If AKCL uses variables of the form Ln,
they will probably clash. Maybe I should add support for label prefixes
(I think there's code there to allow it to general .Ln and a way to
tweak gas to accept it).

--John

--------------------------------------------------------------------------
John L. Coolidge     Internet:coolidge@cs.uiuc.edu   UUCP:uiucdcs!coolidge
Of course I don't speak for the U of I (or anyone else except myself)
Copyright 1990 John L. Coolidge. Copying allowed if (and only if) attributed.
You may redistribute this article if and only if your recipients may as well.