I felt that what I was doing previously was too messy, with different
install scripts for different purposes.
Instead I now have a single script, though it requires an extra item to be
added to the list of packages to be downloaded in advance, which I have
added to the package download scripts here:
https://www.cs.bham.ac.uk/research/projects/poplog/V16/required-packages.html
(Now includes 'patch' as a required package, after I found that my laptop
running Fedora 31 did not have the 'patch' package, which prevented use of
some the download options.)
There is now also a script to enable Arch users to install required
packages, but I don't have Arch and can't test it.
====
What's now available?
Installing Waldek's Poplog with Birmingham extensions:
This script, which can be run in two ways, now does *everything*
(after some bugs were removed):
https://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh
(It can be previewed in a web browser here:
https://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog )
After downloading it make getpoplog.sh executable then run it on its own or
with a -nopie parameter (to prevent creation of position independent
executables, as required on Arch and recent versions of Debian).
This deals with Waldek's recommendation in June:
For Debian 9 and testing one needs extra step,
between 2 and 3 above:
2a) patch 'asmout.p' to add '-no-pie' option
patch -p1 < nopie.diff
E.g.
wget https://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh
chmod 755 getpoplog.sh
Then either
./getpoplog.sh
for the standard installation, or
./getpoplog.sh -nopie
to include the above patch command.
[I am not an expert bash user so it's possible that my syntax for handling
the extra parameter in getpoplog.sh and other things can be improved.]
The second option for getpoplog.sh performs the extra patch operation
required to prevent PIE.
===
When everything has been installed locally, users need to set up the
$usepop environment variable and paths, in the usual way:
E.g. for bash users:
export usepop=`cat poplog_base/USEPOP`
then to set up paths
source $usepop/pop/com/poplog.sh
E.g. for csh/tcsh users
setenv usepop `cat poplog_base/USEPOP`
then
source $usepop/pop/com/poplog.csh
(Or users can simply save the required path for $usepop.)
Thereafter all the poplog commands should work, e.g.
pop11
prolog
pml
clisp
ved
xved
and commands to create or run additional saved images or access packages,
e.g. in Pop11:
: uses popvision
: teach vision
(I have not tried building the C libraries required by the popvision
or popneural packages.)
I now think it's time advertise the existence of this new system.
I have been using it for some time and it seems pretty robust.
If anyone has time to try out the neural or vision packages, please report
results.
I hope someone will also have time to try out the popracer project
https://www.tamias.co.uk/popracer
https://www.cs.bham.ac.uk/research/projects/poplog/popracer/
(It was a second-year undergraduate group project involving use of
evolutionary computation and trainable neural nets to produce simulated
racing cars to compete on a hand-drawn race-track.)
But I won't have time soon.
I am sure there are things to be improved in my install script.
Aaron