compiling acme-sac

273 views
Skip to first unread message

vrtra

unread,
May 20, 2012, 6:21:16 PM5/20/12
to acme-sac
Hello,
I am trying to compile acme-sac in Linux, (Ubuntu) hoping to make it
my main environment, but I could not find any instructions to do it.
Could you please direct me to some documentation on it? I would be
grateful of any help/hint on how to compile it in linux. (The older
binaries no longer start up in Ubuntu, they error out with
link typecheck $Sys->readn() 0/7cfef557
[Styx] Broken: "module not loaded"
).

vrtra

9 9

unread,
May 22, 2012, 1:43:47 PM5/22/12
to acme-sac
Any help? I cannot compile it from inside Acme-sac since it no longer
starts up. Any help would be much appreciated.

Mark van Atten

unread,
May 23, 2012, 3:45:52 AM5/23/12
to acme...@googlegroups.com
9 9 <9...@vrtra.net> a écrit :

> Any help? I cannot compile it from inside Acme-sac since it no longer
> starts up. Any help would be much appreciated.

One option would be to use plan9port [1] instead; but, depending on
your interests and needs, that may be beside the point.

Mark.

[1] http://swtch.com/plan9port/


--
Directeur de recherches, CNRS
IHPST, 13 rue du Four, 75006 Paris, France
tel ++ 33 (0)1 43 54 60 36, fax ++ 33 (0)1 43 25 29 48
http://www-ihpst.univ-paris1.fr/en/6,mark_van_atten.html


--
Ce message a ete verifie par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a ete trouve.

katorga

unread,
May 24, 2012, 4:51:34 AM5/24/12
to acme...@googlegroups.com
Take standard inferno and loosely integrate the changes made
in acme-sac. Works for me – up to a certain degree.

First, copy the acme sources into some new dir and compile
them. The failing compiler will tell you about the libraries changed
in acme-sac. Take them, rename them, and edit the sources to
change the relevant include's.
You will end up with a working acme-sac acme.

Finally, write two scripts: a linux shell script for starting the emu,
and an inferno shell script which will be called by the emu.

The linux shell script calls the emu, e.g.:

   $PARADISO_ROOT/Linux/386/bin/emu -c1 -g 1000x700 myasac >[2]/dev/null

With the inferno script ("myasac") you can start acme stand-alone. Essentially
you need

  #!/dis/sh.dis
  load std
  autoload=std

  home=/usr/^"{cat /dev/user}

  bind -c '#splumber' /chan
  bind -a '#^' /chan
  bind -a '#C' /
  bind -a $home/dis /dis
  bind -b $home/dis/acme /dis/acme

  bind '#U*/' /n/local

  # run $home/lib/functions
  ndb/cs
  auth/factotum

  acme

Quick (relatively) and dirty way with advantages and disadvantages.
The advantage is that you can use standard acme and acme-sac acme,
both either stand-alone or as part of a window environment. You
can continue updating and recompiling your inferno installation –
in most cases it will not affect the acme-sac programs kept separately.
One of the disadvantages is that you get no scalable acme window.
Message has been deleted

9 9

unread,
May 24, 2012, 9:39:59 AM5/24/12
to acme...@googlegroups.com
>
>> Any help? I cannot compile it from inside Acme-sac since it no longer
>> starts up. Any help would be much appreciated.
>
>
> One option would be to use plan9port [1] instead; but, depending on your
> interests and needs, that may be beside the point.

Thanks, I have plan9port, but I was interested in using acme-sac
because I find it intriguing to have a light weight inferno instance
as an editor.

vrtra

9 9

unread,
May 24, 2012, 11:24:49 PM5/24/12
to acme...@googlegroups.com
Thank you very much,
I will try it and let you know.

katorga

unread,
May 25, 2012, 11:03:17 AM5/25/12
to acme...@googlegroups.com
I just noticed, that for acme-sac acme (without acme-charon and the
acme clients in appl/acme/acme) you only have to install one additional
library from acme-sac: acmewin, before acme-sac acme compiles within
inferno.

After that the mkfile has to be edited (other value for the DISBIN variable) and the
compilation to be done in a modified namespace. Supposed the acme-sac
acme sources reside in /asac,

bind -b /asac/appl/acme /module
mk install

should work. The DISBIN could be $ROOT/asac/dis.

To run the asac acme version:

bind -b /asac/dis/acme /dis/acme
bind /asac/dis/acme.dis /dis/acme.dis
acme $*

To run it stand-alone, put it in a script (along with namespace and
environment building instructions), which is passed to the emu.

It's easier than I thought before. I only remembered much trouble
with conflicting libraries. Seemingly that was related to acme-charon
only.
Reply all
Reply to author
Forward
0 new messages