Aaron:
I'm trying to test the blocks program on a Scientific Linux 7 system,
equivalent to RHEL 7 and Centos 7, and I think based on Fedora 19.
I am doing something wrong, or leaving something out. I have installed
Waldek's latest tarfile and untarred the packages tarfile into
$usepop/pop/packages. The build_pop{0,2} scripts produce working pop11
and xved. However:
Setpop
: % mkgblocks
;;; LOADING LIB rc_blocks
TO START THE PROGRAM TYPE:-
blocks_go();
or
ENTER blocks
;;; LOADING LIB xved_standalone_setup
mkgblocks done
: blocks_go();
;;; DECLARING VARIABLE blocks_go
;;; PRINT DOING
;;; DOING : pop_setpop_compiler
;;; MISHAP - enp: EXECUTING NON-PROCEDURE
;;; INVOLVING: <undef blocks_go>
;;; PRINT DOING
;;; DOING : pop_setpop_compiler
If start up standalone xved and try ENTER blocks, I get an "unknown
command" error message. I think that one of the library lists isn't
being set correctly because ENTER teach turtle produces a "not found -
try TEACH TEACHFILES" message, as does ENTER teach teachfiles(!).
However, pop11 +gblocks does work from the bash command line, although
I'm not offered the option of using xved. It just starts up in plain
ved.
Any suggestion for what I need to do to sort out the libraries?
Steve
On Mon, 2 Dec 2019, Aaron Sloman A.Sloman-at-cs.bham.ac.uk |pop-forum| wrote:
I wonder if the story below could be (indirectly) relevant to the problem
Claude Sammut has just reported attempting to link Poplog v16 on Ubuntu
(which I don't use -- I have Fedora).
Waldek's most recent (I think) version of 64 bit poplog, is available
both here:
http://www.cs.bham.ac.uk/research/projects/poplog/amd64/poplog16
and on his web site:
http://www.math.uni.wroc.pl/~hebisch/poplog/
identified as 'tarball', i.e.
http://www.math.uni.wroc.pl/~hebisch/poplog/poplog_base6.tar.bz2
At home I have it installed on two machines:
A desktop PC running fedora 29 with this kernel
5.3.11-100.fc29.x86_64 #1 SMP Tue Nov 12 20:41:25 UTC 2019
and also a Stonebook-mini laptop running fedora 31 with its latest kernel
(not available just now because it also has windows 10, which got itself
into a mess, made itself unbootable, has been rescued using a downloadable
usb mounted package from Microsoft, and Windows is now running Disk
Cleanup, which takes forever on a 56GB mess created by Windows.
[I can't understand how the intelligent senior software engineers at
Microsoft allow their company to provide/sell a system with so much junk/
so many flaws.]
A RECENT IMPROVEMENT IN SUPPORT FOR POPLOG IN FEDORA???
Until my latest linux upgrades, if I used V16 poplog to run the gblocks
package described below it worked perfectly using Ved, the non-graphical
editor, for interactions, but used to crash and freeze using Xved.
(Both worked in 32 bit poplog.)
Now, after recent linux (fedora) updates, it works perfectly on both the
F31 poplog on the laptop and the F29 PC in both graphical and non-graphical
versions of Ved -- though I can't understand what has changed.
It suggests that something has been fixed in recent versions of linux that
previously was broken. So presumably Waldek's code has been correct all
along!
If anyone who can run the latest v16 poplog would like to try out the demo
(which could be useful for teaching), here's some background information;
The demo in question illustrates, with simplified 2D graphics, and
simplified syntactic/semantic complexity, the key features of Winograd's
1971 MIT PhD thesis, presenting his SHRDLU program, demonstrating that
understanding natural language requires rich interactions between
vocabulary, syntax, semantics and world knowledge.
(Published as a book and as a long journal article in 1972
Understanding Natural Language)
We used to use the gblocks program as a demo when teaching AI to beginners,
illustrating the key ideas in Winograd's work (based on Michael Halliday's
work on Systemic grammar) and as something more advanced students could try
to re-implement or extend. (I don't know if any students ever extended it.)
The package is summarised with screen-shots here:
https://www.cs.bham.ac.uk/research/projects/poplog/examples/#shrdlu
There are two, unfortunately silent, demos recorded a long time ago showing
the program running -- on 32 bit poplog here:
https://www.cs.bham.ac.uk/research/projects/poplog/examples/#shrdlu
(the webm versions work in firefox for me.)
To run it on a working poplog, use this shell command to create the gblocks
saved image:
% mkgblocks
This prints out
;;; LOADING LIB rc_blocks
TO START THE PROGRAM TYPE:-
blocks_go();
or
ENTER blocks
;;; LOADING LIB xved_standalone_setup
mkgblocks done
and creates this saved image:
$usepop/pop/lib/psv/gblocks.psv
(those commands printed out after the saved image is created need to be
changed -- they are out of date!)
The saved image can then be run from a linux shell (with all poplog
environment variables set) giving this command:
pop11 +gblocks
which prints out (in my case):
Sussex Poplog (Version 16.0 Sun 1 Dec 01:55:03 GMT 2019)
** PLEASE WAIT TILL EDITOR IS READY
** XHOST PC
Use XVED? (y/n):-
Typing 'y' invokes Xved, and 'n' invokes the non-graphical version of the
editor Ved.
[[
Until recently, typing 'y' using 64 bit poplog (on my machines) produced an
access violation error message: poplog then froze and had to be killed from
the shell, but it always worked fine in the non-graphical editor Ved.
It also worked fine in 32 bit poplog with either version of the editor.
Since very recently (I don't know exactly when) it now works perfectly for
me in Fedora 29 and Fedora 31. So the previous problem was not in Waldek's
64 bit poplog, as that has not changed since July.
]]
After you type 'y', if it works, the editor starts up in XVed, otherwise in
Ved, and in both cases displays a poplog graphical window showing a 2D
projection of a simplified tabletop with stacks of blocks and a 'hand'
floating above, and puts this in the editor buffer:
Move mouse pointer to this window
Type a sentence - 'help' for help - type 'bye' to exit
?
Typing 'help' [then Return] produces a list of example input commands or
questions.
Select one using the editor cursor and use RETURN (possibly after editing
the example to see what difference that makes).
You then have to keep clicking on the 'Continue' button to see the scenario
develop, including parsing the input, attempting to resolve ambiguities
using 'world knowledge' (about what's on the table) and displaying
alterantive parse trees if there is an ambiguity.
After the required interpretation has been selected it either answers the
question, or, if the input is a command, shows how to make a plan to obey
the command (if that's possible) and then allows you to step through the
plan execution process, using the Continue button on the window.
[This package was a result of collaboration between at least five different
people at sussex university, who contributed ideas and code related to
their interests!]
Apart from its educational value, it's a tough test for a port of poplog,
one of the reasons I include it in the start up tests/demos!
Good news:
I have just discovered that on my two machines running F29 and F31 it works
perfectly using xved (after I recreated the gblocks saved image using
'mkgblocks').
That suggests that there was nothing wrong with Waldek's code, but
something in linux (probably the the 64-bit version of the motif library)
was previously broken. The version of motif that works in F29 is
motif-2.3.4-17.fc29.x86_64
motif-devel-2.3.4-17.fc29.x86_64
I can't now check whether my F31 machine has a later version of motif.
----
The fact that all this complexity works on my machines makes me wonder
whether the linking problems Claude has just reported on Ubuntu
7.4.0-1ubuntu1~18.04.1 could be caused by an out of date library
somewhere in that version of Ubuntu. He wrote:
.......
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
;;; MISHAP - POPLINK: ERRORS IN LINKING (see above)
;;; PRINT DOING
;;; DOING : sysprmishap prmishap sys_pr_exception sys_exception_final
;;; sys_exception_handler
;;; sys_raise_exception() assemble_and_link Main make_saved_image 00000000
;;; 007D05D8 sysEXECUTE pop11_exec_stmnt_seq_to sysCOMPILE pop11_comp_stre
;;; am pop11_compile pop_setpop_compiler setpop
I have had no problem linking V16 on fedora since July this year, when I
think I was running Fedora 27 on both my machines, but the gblocks demo did
not work in XVed then. I know there were some low level problems that
Waldek fixed shortly before producing his latest version in June or July.
Claude, if it's possible for you to try fedora, you may have more luck.
Perhaps the problem in ubuntu will go away if the latest changes in the
Fedora sources spread to other systems?
Or perhaps you can try a more recent version of Ubuntu?
Aaron