Items that were previously optional extras and are now part of the standard package no longer need to be listed as available.
Problems for poplog users that have been removed no longer need to be
listed on the main page.
NOTE -- SELINUX PROBLEMS:
For a few years after Fedora Core 4 came out there were problems running Poplog because of interactions with new Linux security mechanisms. These problems have now been fixed.
(The problems are described here.)
Note: most of the packages will be in the form of a gzipped tar file or a zip file, e.g. bhamteach.tar.gz bhamteach.zip. These should be unpacked in the $poplocal/local/ directory in order to be conveniently accessible. You can put them in a different place if you understand how to manipulate the search lists used by Ved and the Poplog compilers.
If you have fetched poplog from Birmingham you should already have a shell script in $poplocal/local/com/install_package that can be used to install most of the tar.gz files without hassle. If you don't have it you can fetch it from here http://www.cs.bham.ac.uk/research/poplog/com/install_package (Don't forget to make it executable before using it. See MAN chmod.)
A collection of teaching files, help files, autoloadable utilities and demonstration libraries is available packaged for the convenience of Birmingham AI students who wish to duplicate the teaching environment on their own machines running Poplog.
There are two bundles available
- bhamteach.tar.gz (for unix/linux users)
Now all included in the $usepop/pop/packages directory of recent versions of Poplog.
- bhamteach.zip (for windows/NT/XP users)
The package provides AI tutorial files, help files and supporting libraries produced mainly at Birmingham for teaching programming and elementary AI, including some Ved/Xved tutorials. Some of these are updated versions of the teach files and libraries distributed with Poplog.
The package includes the pattern prefix "!" which allows the Pop-11 pattern matcher to be used with lvars variables (lexical locals). The complete list of contents can be found here. The Pop-11 code files and the documentation files can be browsed online.
WARNINGSeveral of the files in the "bhamteach" package are later versions of the same files included in the older "standard" Poplog distribution (V15.0, V15.5, V15.53). The newer versions have been installed in Poplog V15.6.
In some cases they correct mistakes in the older versions. In other cases they merely include extensions or enhancements, such as the use of the pattern prefix, which reduces the scope for bugs arising from use of the pattern matcher with dynamically scoped variables.
Most of these revised versions of old files were developed at Birmingham before Poplog became available free of charge, and were not incorporated into the standard distribution. Consequently if installed they will often "shadow" the "standard" versions, and this can cause confusion. Some of the files come from Sussex University, not Birmingham and are made available with permission of the authors.
Since version V15.6, these have now been fully merged with Poplog, and the new versions replace the old files.
A bundle of teaching and library files added after Poplog came to Birmingham.
Now included in current releases of Linux poplog.This is available in a single 2 Mbyte (approx) file http://www.cs.bham.ac.uk/research/poplog/bham.tar.gz containing a basic collection of the teaching materials and pop-11 utilities in the bhamteach package mentioned below, and also the rclib and rcmenu packages, installation scripts, scripts for rebuilding saved images, and the "!" pattern prefix which allows the pop-11 pattern matcher to use lexically scoped variables.
NOTE for Windows users:the bhamteach.zip package for Windows/NT poplog does not include any of the graphical facilities since they are usable only with unix/linux/VMS versions of Poplog.
The problem described below, involved security extensions to linux (SELinux). For more information about SELinux see SELinux/Understanding: SELinux for dummies or Security-Enhanced Linux (Wikipedia)For more information, please see the above compatibility web page.
This problem prevented poplog saved images running unless launched using 'setarch', but setarch was not available on all systems that set SELinux by default.
The problem has now been fixed (so far only for 32-bit Linux poplog), thanks to changes supplied by Waldek Hebisch. (Department of mathematics, Politechnika Wroclawska, Poland.)
(Unfortunately, this version still seems not to work on the original Asus EEE, for reasons that may be connected with the use of Xandros linux. The latest poplog (v15.63) has been tested successfully on a newer Asus EEE running Archlinux.)
The 'setarch' problem:
Problems with SELinux security mechanisms (Fixed in Version 15.62)
Users of Linux Poplog found problems installing and running Poplog on Fedora Core 4, 5 and 6, CentOS 5, and other versions of Linux using the SELinux security mechanisms by default.For information about SELinux see SELinux/Understanding: SELinux for dummies or Security-Enhanced Linux (Wikipedia)The symptoms include pop-11, xved or other saved images, not starting at all or intermittently producing 'segmentation fault', 'access violation' or 'stack empty' errors.
These problems turned out to be results of security enhancements introduced by RedHat and included in precompiled kernels for Fedora Core, even though recent kernels fetched from www.kernel.org all work with Poplog if they are compiled and installed without the security enhancements. However, it seems likely that the security enhancements will increasingly be turned on by default. The version of poplog v15.61 made available on 11 Sep 2007 was designed to get round these problems, both during installation and after, by using the 'setarch' command described below, to run poplog. However this mechanism has been superseded in the latest version of Poplog.
Explanation of the problem
John Duncan drew attention to the warnings and suggestions on this web page, provided by Dag Wieers, which explains what is going on: http://dag.wieers.com/howto/compatibility/
Previous solutions (not needed since Poplog v15.62):
In order to get poplog saved images to start reliably on versions of Fedora since Fedora Core 4 -- and presumably other things derived from RedHat linux with their security modifications (Selinux) -- it is necessary to use the sysctl utility (as super-user) to turn off randomization in memory allocator 'malloc' (no longer needed in Poplog version 15.62):To turn randomization off temporarily give this command as super-userAlternatively, to turn it off permanently put this in your /etc/sysctl.conf file:sysctl -w kernel.randomize_va_space=0orecho 0 > /proc/sys/kernel/randomize_va_spaceHowever that may be unacceptable as a security risk on a machine with a wide range of users, exposed to the internet. An alternative that seems to work well on recent versions of linux though it did not work on CentOS 4.4 for some reason is to use the 'setarch' command to run poplog binaries. This turns off the randomization just for that process. E.g., instead of typing 'pop11' type:kernel.randomize_va_space=0setarch i386 -R pop11That is too tedious, so for users of csh or tcsh it is possible to define a set of aliases thus in ~/.cshrc or ~/.tcshrc :alias pop11 setarch i386 -R pop11 alias xved setarch i386 -R xved alias ved setarch i386 -R ved alias prolog setarch i386 -R prolog alias clisp setarch i386 -R clisp alias pml setarch i386 -R pmlFor users of bash, put the following in ~/.bashrcalias pop11='setarch i386 -R pop11' alias xved='setarch i386 -R xved' alias ved='setarch i386 -R ved' alias prolog='setarch i386 -R prolog' alias clisp='setarch i386 -R clisp' alias pml='setarch i386 -R pml'Note: since 3 Dec 2008, none of that is needed in Version 15.62
Steve Isard reported that the above changes were not needed to run 64bit Poplog.
However that may no longer be true. (6 Jun 2008)
- exec-shield (problem now fixed)
In order to get poplog to start at all on some recent kernels (since FC 4), it was previously necessary to turn off Exec-Shield, a security-enhancing modification to the Linux kernel that makes large parts of specially-marked programs -- including their stack -- not executable. This can reduce the potential damage of some security holes, such as buffer overflow exploits, but also interferes with the operation of poplog. (Thanks to Chris Dollin for checking this.)
In recent versions of poplog running on recent versions of linux (e.g. FC 6, CentOS 5) it proved necessary to turn off Exec-Shield.To turn it off temporarily give this command as super-userAlternatively, to turn it off permanently put this in your /etc/sysctl.conf file:sysctl -w kernel.exec-shield=0orecho 0 > /proc/sys/kernel/exec-shieldkernel.exec-shield=0As implied above this may not be necessary.
Last Updated: 27 Dec 2011