NOTE: THIS IS OUT OF DATE

THIS HAS BEEN SUPERSEDED BY
http://www.cs.bham.ac.uk/research/projects/poplog/amd64/poplog16/NEWS-poplog16.html

POPLOG VERSION 16 NEWS
(Including bug reports)
Based mainly on work done by Waldek Hebisch to Port 32-bit linux poplog
to AMD64/X86-54 (64-bit)
---------------------
Reports are listed in reverse chronological order.

THIS IS:
http://www.cs.bham.ac.uk/research/projects/poplog/amd64/poplog16/NEWS-poplog16.txt
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

--------------------------------------------------------------------------

  CONTENTS

 -- 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
 -- 11 Dec 2019 introduced AREADME.html
 -- 28 Dec 2019 Tested successfully on Arch by Andreas Eder
 -- 16 Jul 2019 new download link: latest_poplog_base.tar.bz2
 -- NCURSES NEWS Sun, 14 Jul 2019

==========================================================================
-- 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

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
    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

--------------------------------------------------------------------------

-- 11 Dec 2019 introduced AREADME.html

This file is now partly superseded by
http://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html

__________________________________________________________________________

-- 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

--------------------------------------------------------------------------

-- 16 Jul 2019 new download link: latest_poplog_base.tar.bz2

Aaron Sloman:

To save the need to edit this 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?"

 http://www.math.uni.wroc.pl/~hebisch/poplog/poplog_base6.tar.bz2

 [Now out of date]

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