POPLOG VERSION 16 NEWS
(Including bug reports)
---------------------
This is:
http://www.cs.bham.ac.uk/research/projects/poplog/V16/NEWS-poplog16.html
Reports are listed in reverse chronological order.
DRAFT: Last updated: 22 May 2021
Maintained by Aaron Sloman

User reports will also be added here, if appropriate.
The archive of posts to pop-forum, with more detailed communications, is at:
     https://www.mail-archive.com/pop-forum@cs.bham.ac.uk/
More detailed information about Poplog V16 is in
     http://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html
Older, more general information about poplog is in
http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html

NEWS CONTENTS (Latest first)
-- 22 May 2021 PROBLEMS USING LINUX KERNEL > 5.6
-- 23 Aug 2020 Poplog News/Updates
-- 14 Feb 2020 Bug in character input handling at startup in V16
-- 8 Jan 2020 Bug in semnet.p in package library fixed
-- 6 Jan 2020 Big integer Bug fix provided by Waldek Hebisch, patch installed
-- 6 Jan 2020 Hakan Kjellerstrand Big integer bug report
-- 5 Jan 2020 Use getpoplog.sh to download Poplog V 16 (with/without '-nopie')
-- 2 Jan 2020 Moved tar files into DL library
-- 1 Jan 2020 Hakan Kjellerstrand tested new script
-- 31 Dec 2019 Aaron Sloman script with optional -nopie parameter does everything
-- 28 Dec 2019 Tested successfully on Arch by Andreas Eder
...after installing the nopie patch manually
-- 11 Dec 2019 introduced AREADME.html
-- 16 Jul 2019 new download link: latest_poplog_base.tar.bz2
-- NCURSES NEWS Sun, 14 Jul 2019


PROBLEMS USING LINUX KERNEL > 5.6
22 May 2021. changes to the linux kernel in kernel versions 5.7 and (especially) 5.8
interfered with installation and use of poplog. The problem has been diagnosed and
a temporary workaround is available.
See the warning in the main V16 Overview file.

-- 23 Aug 2020  Poplog News/Updates
Since February 2020 various points have been discussed on the pop-forum email
list. A major event occurred in August 2020. Waldek Hebisch produced a new
version of the core of poplog (Version 16.0001 Sun Aug 23 11:01:41 BST 2020)
fixing a serious problem that was not present in 32 bit poplog, namely if the
linux motif system was added to Poplog V16 then an attempt to use the mouse to
delete a graphical window other than an XVed window, instead of simply removing
the window, it crashed Poplog. The problem did not exist if motif was not
included.

The problem has now been solved.

The download file http://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh
has now been modified to fetch and install the new version of poplog from the
Birmingham web site, incorporating the latest tar-ball created by Waldek from
the poplog github site.

Steve Isard has provided instructions for getting the latest version of core
poplog from github and building it into a previously downloaded version of poplog.

In the poplog_base directory created by the getpoplog.sh script, do:

   git init
        # installs a bunch of files that make git treat the directory
        # as a git repository

   git remote add origin https://github.com/hebisch/poplog
        # make it aware of Waldek's remote repository

   git fetch
        # get the latest versions of files from the repository

   git checkout origin/master -ft
        # make the fetched files be the currently visible ones

 Now re-run the build_all.sh script to build a poplog incorporating the
 updates.

 Thereafter, check for, and install, updates by:

    git pull

 followed by running the previously downloaded build_all.sh if the
 updates are such that new saved images have to be built to incorporate them.


-- 14 Feb 2020 Bug in character input handling at startup in V16 This bug is concerned with things like this not working properly in V16 although it works in Poplog V15.65, pop11 ":readline()=>" It is described, but not explained, in http://www.cs.bham.ac.uk/research/projects/poplog/V16/poplog-startup-bug.txt (Note: 23 Aug 2020 Since then Waldek Hebisch has posted an analysis to the pop-forum mailing list.)
-- 8 Jan 2020 Bug in semnet.p in package library fixed Reported by Hakan Kjellerstrand: Reading the inspiring book "Computers and Thought" (Sharples et al), I wanted to test the semnet package described in chapter 6 (https://www.cs.bham.ac.uk/research/projects/poplog/computers-and-thought/chap6/node2.html), and found a bug in the semnet package, the file poplog_base/pop/packages/contrib/pop11/ct_book/lib/semnet.p In the procedure sysstryall, the line 371 instance(PLIST) -> them; ;;;PLIST is the complete pattern should be replaced with instance(PL) -> them; ;;;PL is the complete pattern [AS]Now fixed in packages tar file. http://www.cs.bham.ac.uk/research/projects/poplog/V16/DL/packages-V16.tar.bz2 -------------------------------------------------------------------------- -- 6 Jan 2020 Big integer Bug fix provided by Waldek Hebisch, patch installed Following the Big integer bug report below, a few hours later, Waldek Hebisch posted a patch to pop-forum, now installed in the download version of poplog in latest_poplog_base.tar.bz2 in http://www.cs.bham.ac.uk/research/projects/poplog/V16/DL This file http://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh will now fetch and install the 'fixed' version. (Tested by Hakan Kjellerstrand) -------------------------------------------------------------------------- -- 6 Jan 2020 Hakan Kjellerstrand Big integer bug report (Fixed in above patch) More details in https://www.mail-archive.com/pop-forum@cs.bham.ac.uk/msg00341.html Here is a strange behaviour in Poplog 16 using round and round(sqrt(i)): vars i; for i from 2 to 10000 do [^i ^(2**i) ^(round(sqrt(2**i)))]=>; endfor; Poplog 16 throws an error for 2**126: """ ..... ** [123 10633823966279326983230456482242756608 3260954456333195264] ** [124 21267647932558653966460912964485513216 4611686018427387904] ** [125 42535295865117307932921825928971026432 6521908912666390528] <<<<<<< System Error: Signal = 8, PC = 00000000005B31F7 >>>>>>> [NB now fixed] -------------------------------------------------------------------------- -- 5 Jan 2020 Use getpoplog.sh to download Poplog V 16 (with/without '-nopie') A single 'fetch and install script' is available that downloads items to be used to create a poplog V16 installation. http://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh Download it, make it executable and run it to install poplog. Read the comments for more information. The latest version of getpoplog.sh accepts an optional extra parameter -nopie which determines whether or not poplog (basepop11) should be linked as a position-independent executable (PIE). PIE is not permitted in some recent versions of linux (e.g. Arch and recent versions of Debian). The extra parameter '-nopie', if present, invokes a change to exclude PIE for those versions of linux. At present this mechanism cannot detect automatically whether the extra parameter is required. So, to install poplog on Arch or Debian 9 and "testing", run this command as "super-user": getpoplog.sh -nopie For other versions of linux that may not yet work, and '-nopie' can be omitted, e.g. for older versions of Fedora. It doesn't seem to be required for Fedora 31, but can be used without any bad effect, as far as I can tell. ---------------------------------------------------------------------------- -- 2 Jan 2020 Moved tar files into DL library All the tar files and scripts used during download are now in the DL ('Download') subdirectory http://www.cs.bham.ac.uk/research/projects/poplog/V16/DL ---------------------------------------------------------------------------- -- 1 Jan 2020 Hakan Kjellerstrand tested new script | What a great start of the new year, Now I got Poplog 16 to work! The magic that got it to work on my Linux Ubuntu 18.04 box was the -nopie flag to getpoplog.sh . Excellent! There are still some issues that I will check out in more detail, but running all the first 50 Project Euler programs is now 2s faster than the earlier 15.65 version. (See http://hakank.org/poplog/ for the programs.) -------------------------------------------------------------------------- -- 31 Dec 2019 Aaron Sloman script with optional -nopie parameter does everything A single download script with optional -nopie parameter does everything I felt that what I was doing previously was too messy, with different install scripts for different purposes. So a single script with an optional '-nopie' flag is available. https://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh -- 28 Dec 2019 Tested successfully on Arch by Andreas Eder ... after installing the nopie patch manually > 2a) patch 'asmout.p' to add '-no-pie' option > patch -p1 < nopie.diff ---------------------------------------------------------------- ...after installing the nopie patch manually > 2a) patch 'asmout.p' to add '-no-pie' option > patch -p1 < nopie.diff -- 11 Dec 2019 introduced AREADME.html Overview of Poplog V16 http://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html -- 16 Jul 2019 new download link: latest_poplog_base.tar.bz2 To save the need to edit this 'tar file' and other documents whenever there's a new version of poplog_baseN.tar.bz2 I've created a symbolic link latest_poplog_base.tar.bz2 That needs to be used in combination with meeting linux library requirements for poplog, as explained in https://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html#installation-process Use this script to start a download and install: https://www.cs.bham.ac.uk/research/projects/poplog/V16/getpoplog.sh After downloading run getpoplog.sh with or without '-nopie' as explained above. ---------------------------------------------------------------------------- -- NCURSES NEWS Sun, 14 Jul 2019 Waldek Hebisch wrote to the pop-forum mailing list: (slightly edited): "It was noted that some Linux systems have only ncurses version 5, while others have only version 6. Executables linked to non-present version of the library can not run, so it is not possible to have a single executable that runs on a large variety of Linux system and which is linked with ncurses. So to ease recompiling Poplog I have created corepop which does not link to ncurses. ATM I do not know what is best way to do this. I simply removed 'termcap.p' from 'pop/src'. Moving it to 'pop/ved/src' and adjusting sources so that they still compile allow building 'basepop11' linked to ncurses from the same source. I do not know why 'termcap.p' is in 'pop/src'. It seems that in the base system only ved needs termcap (more precisely terminfo) functions so it seem reasonable to move 'termcap.p' to the Ved directory. Is there a better solution?" [Now out of date] http://www.math.uni.wroc.pl/~hebisch/poplog/poplog_base6.tar.bz2 This tarball contains a new corepop. I also slightly modified 'pglink' so that it does not build 'rsvpop11' when '-core' is given. There are no other changes compared to version 5 tarball (in particular corepop built from the tarball is linked to ncurses). ----------------------------------------------------------------------- [7 Jan 2020: Note by A.S. This strategy seems to have worked, as far as I can tell after using V16 for some time, with later bugfixes included.] ============== For more information see http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html