LATEST VERSION OF POPLOG

How to install 32-bit Poplog on 32-bit or 64-bit linux


This file is
http://www.cs.bham.ac.uk/research/poplog/latest-poplog/

Instructions for DOWNLOADING and INSTALLING Poplog are below.


What is Poplog?
Poplog is a multi-language software development environment that has proved itself useful for teaching absolute beginners programming and AI, and supporting major commercial software projects, including Clementine a leading user-extendable data-mining toolkit in the 1990s, later incorporated into IBM's business development software. "Poplog" was a trade-mark of the University of Sussex from about 1983 to 2015.

The core language of Poplog is Pop-11, derived from the Edinburgh University POP-2 Programming language developed for AI research in the 1970s.

The other languages are all implemented in Pop-11.

Some online information about the Pop-11 language:
The Pop-11 Primer
Pop-11 uses a virtual machine with compiler tools available at run time, that can support a variety of very different incrementally compiled programming languages.

Poplog is supplied with implementations of three additional well known languages, Prolog, Common Lisp, and Standard ML, but particular applications can include application-specific languages implemented in Pop-11. An example is the Poprulebase language used in the SimAgent toolkit:
http://www.cs.bham.ac.uk/research/projects/poplog/help/poprulebase
http://www.cs.bham.ac.uk/research/projects/poplog/packages/simagent.html

See also:

For background information on the contents of the Poplog system
and the teaching materials included, see
http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html#whatspoplog

For more on available teaching materials, and online tutorials see

For information on other versions of poplog available see:
http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html#contents


Partial Poplog: Poplog for windows users
If you do not have access to a machine running linux you may be able to run poplog (possibly a reduced version) on windows, as explained in
http://www.cs.bham.ac.uk/research/projects/poplog/winpop/


32-BIT POPLOG FOR 32-BIT or 64-BIT LINUX ON PC

(As of 14 Oct 2015)
This file is accessible as:
http://www.cs.bham.ac.uk/research/projects/poplog/latest-poplog/
That link should always get the latest version of 32 bit linux poplog.

Minor updates may be included without altering this file or the version number.

For information about recent changes see:
(may need some updating)

Instructions for downloading, and information about pre-requisites, are in the next section.


INSTRUCTIONS FOR INSTALLING PRE-LINKED LINUX POPLOG V15.65

NEW (14 Oct 2015)
The packaging and installation of linux poplog has been considerably simplified by removing options that would probably have been confusing and unnecessary for new users. The new scripts to download and install Poplog require poplog to be configured for use with the X11 (X-Window) graphical tools, including the (Open)Motif or Lesstif package, and by default install poplog in /usr/local/poplog, though expert users can edit the scripts to use a different location.

Download and install scripts are provided both for Fedora (which should also work for other RedHat-based versions of linux) and for Ubuntu (which may work for other Debian-based versions of linux). The scripts should work on 64-bit or 32-bit Linux systems.

Because these scripts also install linux system packages, they need to be run as root (superuser) or using the 'sudo' command. So, after fetching the script, make it executable using 'chmod', e.g.

    sudo chmod 755 script-name
Then run the script, e.g. using the instruction format:
    sudo ./script-name
Fetch the appropriate script, using your browser's 'save as' option, or using the 'wget' command with the URL.

Each script first installs a collection of linux library packages required for poplog to run, then fetches a new (fetch-and-install) script from here, which can then be run to download and install poplog. That fetch-and-install script available below can be used with any version of linux on which the required packages (listed below for Fedora and Ubuntu) have already been installed.

The main fetch and install script

This is downloaded and run by the previous two scripts, to finish off the installation after required linux packages have been installed.
http://www.cs.bham.ac.uk/research/projects/poplog/latest-poplog/get-and-install-prelinked-v15.65-poplog

This can be downloaded by hand, made executable, and run, if you have already installed the required linux packages. It fetches a tar file (size about 17MB) and unpacks it into a directory (/usr/local/poplog, which it creates if necessary), then adds some links in that directory to the newly installed files, and finally runs an installation script that builds 'saved images' to go into the 'popsavelib' directory, to make available usable versions of Pop11, Prolog, Common Lisp and Standard ML, and multi window version XVed of the poplog editor Ved. By default it installs saved images for two demonstration programs (a chatbot, eliza, and a mini blocks world demo, partly inspired by Terry Winograd's SHRDLU program (around 1971).

Video tutorial on installation

See the video on installing poplog here using an older, slightly more complex method of installation, but still showing the main points:
http://www.cs.bham.ac.uk/research/projects/poplog/cas-ai/vid.html
A clearer version is available on the Birmingham web site:
http://www.cs.bham.ac.uk/research/projects/cogaff/tutorials/install-poplog.ogv

For other versions of linux

If you need poplog for another version of linux you can use the main fetch and install script after you have installed the appropriate packages. To help you work out what you will need, here are the pre-requisite packages fetched for Fedora and other redhat-related linus, and the pre-requisites for Ubuntu.
Packages required for Fedora (and similar versions of linux):
gcc, glibc-devel.i686
tcsh, ncurses-devel.i686
xterm, wget, espeak
libXext-devel.i686, libX11-devel.i686, libXt-devel.i686
openmotif-devel.i686 (or lesstif-devel.i686)
These are all included in the 'get-prelinked-fedora-poplog' script.

Packages required for Ubuntu (and similar Debian-based versions of linux):

gcc, build-essential, tcsh
libc6:i386, libncurses5:i386, libncurses5-dev:i386,
libstdc++6:i386, xterm, wget, espeak,
libxext6:i386, libxext-dev:i386, libx11-6:i386, libx11-dev:i386, libxt-dev:i386
libmotif-dev:i386
These are all included in the 'get-prelinked-ubuntu-poplog' script.

Request for help
Anyone with information about the names of corresponding 32-bit packages required for other versions of linux should post them to
     a.sloman AT cs.bham.ac.uk
Thanks!

Discussion forum (pop-forum)

Information about the Pop-forum mail list is here:
https://mailman.cs.bham.ac.uk/mailman/listinfo/pop-forum
Anyone wishing to communicate with other Poplog/Pop-11 users should consider joining the pop-forum email list, which can be used for questions, information, tips, etc. relating to Poplog and the Poplog languages (Pop-11, Prolog, Common Lisp, Standard ML), or poplog packages, e.g. the SimAgent toolkit:
http://www.cs.bham.ac.uk/research/projects/poplog/packages/simagent.html
There was previously a separate list for Poplog developers (poplog-dev), but they were merged in 2015.


OPTIONAL

There is a linear algebra package included in David Young's popvision library ($usepop/pop/packages/popvision), summarised here:
http://users.sussex.ac.uk/~davidy/teachvision/vision0.html
then the the BLAS and LAPACK linear algebra packages can be installed at any time before or after Poplog has been installed.
Fedora:
    yum install blas-devel.i686 lapack-devel.i686
Ubuntu:
    apt-get install libblas-dev:i386 liblapack-dev:i386
That can be done at any time after installing Poplog.
For more information see the help files.
http://www.cs.bham.ac.uk/research/projects/poplog/packages/current/popmatlab
http://www.cs.bham.ac.uk/research/projects/poplog/packages/current/popmatlab/help/popmatlab
http://www.cs.bham.ac.uk/research/projects/poplog/packages/current/popmatlab/help/lapop
http://www.cs.bham.ac.uk/research/projects/poplog/packages/current/popmatlab/help/lapack


ARCH LINUX USERS
NEW 25 May 2012:
(not yet fully tested)

I am not an Arch user, so I am grateful to Peter Lewis for advice and suggestions. I welcome criticisms and further suggestions from Arch users who try this system.

Peter has produced this script, which may suffice for knowledgable Arch users:
https://aur.archlinux.org/packages/po/poplog/PKGBUILD

Arch users wishing to get the latest poplog directly from here should be able to install it provided that
(a) if 64-bit arch is in use then the Multilib facilities will have to be enabled as described in http://www.archlinux.org/news/true-multilib-for-arch-linux-x86_64/

(b) a collection of libraries has been installed, especially xterm, and 'lib32-libxext' 'lib32-libxt' 'lib32-openmotif' 'lib32-libxp' 'tcsh'
and optionally 'espeak' (useful for some of the demos).

Try downloading and running this script, which will attempt to install the above packages, then give you the option to abort or continue, then install poplog in /usr/local/poplog (plus a few symbolic links):
http://www.cs.bham.ac.uk/research/projects/poplog/latest-poplog/get-arch-poplog


NOTE: Other versions of linux

People using other versions of linux should check that they have the gcc libraries, csh/tcsh and "development" versions of
    either
        motif

    or
        lesstif
E.g. you should be able to install one of those using 'yum install' in RedHat/Fedora systems and similar systems, e.g. CentOS, Scientific Linux:
    yum install lesstif-devel.i686
Make sure that you have the 'devel' packages for the X11 libraries installed. Otherwise the link commands in the poplog installation scripts will fail. E.g. you could use the following, in addition to the commands for installing motif (or lesstif):
    yum install libX11-devel.i686 libXt-devel.i686 libXext-devel.i686
If you would like to try the linear algebra package included in the popvision library mentioned above ($usepop/pop/packages/popvision) then, if you are a Fedora user, add this command to install the BLAS and LAPACK linear algebra libraries:
    yum install blas-devel.i686 lapack-devel.i686
For Ubuntu that would be
    apt-get install libblas-dev:i386 liblapack-dev:i386
That can be done after installing Poplog. Users of other versions of linux will have to investigate what commands are required.


Script for checking pre-requisites on your linux system
(Automatically done if you use one of the "get-and-install" scripts described above.)

The file CHECK_LINUX_FACILITIES can be downloaded, made executable, and then run to check that you have an installation on which poplog can be installed (current version only for Fedora-type or Ubuntu-type linux):
http://www.cs.bham.ac.uk/research/poplog/latest-poplog/CHECK_LINUX_FACILITIES
After downloading it do this to make it executable, then run it:

      chmod 755 CHECK_LINUX_FACILITIES
      ./CHECK_LINUX_FACILITIES

NOTE: use of motif/lesstif

The graphical facilities in Poplog are all based on the X window system (sometimes also called X11), described here http://en.wikipedia.org/wiki/X_Window_System

This has the great advantage of supporting remote use of graphical tools: the tools can run on a machine in one location while users are using a machine connected to it by a network. This is now commonplace using web browsers, but the X window system, based on Unix, had the idea long before there were web browsers. Poplog provides a wide range of 2-D graphical facilities based on X. There are some library packages that extend the X facilities and one of those is the 'motif' widget toolkit, which is used by many tools that run on linux and unix. It is described here.
A royalty free version is OpenMotif described here. Some unix distributors object to licence conditions of both Motif and OpenMotif and have switched to using an open source non-proprietary replacement called Lesstif, described here. Lesstif is almost fully compatible with Motif, but not quite, and this has caused minor problems for poplog, now fixed.


NOTE FOR 64-BIT POPLOG USERS.
REVISED: 30 Jan 2014; 14 Oct 2015

Although there is a port of poplog to 64-bit linux kindly produced by Waldek Hebisch, lack of resources meant that it has not been possible to maintain this while the 32-bit linux poplog continued to evolve.

Expert users wishing to try the 64 bit version of poplog will find information about the package and the required tar files here:
http://www.cs.bham.ac.uk/research/projects/poplog/amd64

Alternatively explore Waldek Hebisch's poplog pages:
http://www.math.uni.wroc.pl/~hebisch/poplog/

However, most 64-bit linux AMD64 systems or equivalent (e.g. x86_64) should support 32 bit applications, provided that you install the required 32 bit libraries before installing poplog. So the installation procedures for Fedora and Ubuntu introduced above, should install 32-bit poplog on 32-bit or 64-bit versions of Linux, wihch may be the simplest option.

The RCLIB graphical extension to Poplog, described here, was designed to work without Motif.

However there are some advantages in the use of Poplog with motif, insofar as the graphical version of the editor, XVed, then has menu buttons and a scrollbar if Motif or Lesstif is available.


'Single Script' get and install files for downloading 32-Bit Linux Poplog

The original contents of this section are now out of date, as the procedures and scripts have been simplified. See the up to date versions above.

Older information

This file supersedes installation instructions for Linux Poplog in the file
http://www.cs.bham.ac.uk/research/poplog/v15.65/AREADME.txt


COPYRIGHT

Poplog is subject to copyright owned by the University of Sussex.
The Copyright notice (non-restrictive) is available here:
http://www.cs.bham.ac.uk/research/projects/poplog/copyright.html

This file maintained by:
Aaron Sloman
http://www.cs.bham.ac.uk/~axs/
Last Updated:
5 Aug 2009;22 Jan 2010;12 Aug 2010; 26 Dec 2011; 29 Apr 2012 ;14 Oct 2015