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

Reply via email to