[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]
I think I know now what to do to overcome this problem.
Rod Chapman Praxis Critical Systems <rod@praxis-cs.co.uk>
previously wrote:
> I need to re-build PopLog (v15.53) on my Linux
> system (RedHat 6.1, 128 Meg RAM, 256 Meg swap)
He found that pglink did not work. I tried and also found that it did
not work.
But after some experimentation I found a way to relink poplog on Redhat
6.1. I'll give a summary here. Later I'll rewrite the relevant parts of
this file
http://www.cs.bham.ac.uk/research/poplog/sysdoc/rebuilding
Here are the main steps. All of these commands are given in the $popsys
directory:
cd $popsys
You should find that the corepop11 file works: try running it.
If it does not work, you should find that basepop11 works: try running
that. If neither works, try running poplink_cmnd to create an
executable, newpop11 that works. If you cannot get a version of pop11
that works you cannot proceed.
If corepop11 does not work but basepop11 does, do, this, using "cp" NOT
"mv" to preserve links:
cp basepop11 corepop11
However in Linux Poplog V15.53 both corepop11 and basepop11 should work
on Redhat 6.1
Now remove and then rebuild poplink.psv
rm poplink.psv
$popsrc/mksyscomp poplink
This should have created poplink.psv, as you can check:
ls -l poplink.psv
However in order to run it you will need a file called corepop, which is
the same as the corepop11 executable used to build it. (The two used to
be different for reasons to do with licensing when Poplog was not free.
Later the system building scripts $popsrc/mksyscomp $popsrc/mknewpop
should be changed so that only corepop is needed, never corepop11.
So setup corepop (using "cp" in case there are links to be preserved):
cp corepop11 corepop
Make sure that poplink is a link to corepop. If in doubt do:
rm poplink
ln -s corepop poplink
You should now be able to run pglink. First use it to link a minimal
"safe" pop11 which can be used to rebuild the other system-building
saved images.
pglink -safe
This will create some poplink_* files, which you can ignore, a file
rsvpop11 which you can delete (the pglink script should be changed
to accept the "-norsv" flag) and a newpop11 file which is the
one you want.
First delete the unwanted file.
rm rsvpop11
Test newpop11. It should start up with the usual Sussex poplog notice
and give you the colon prompt. Check that it works, but suppress
attempts to read any init.p files, which could cause errors or warning
messages, because this is a reduced (safe) pop11.
newpop11 %noinit
It should print out something like this, ending with the pop-11 prompt,
a colon:
Sussex Poplog (Version 15.53 Sun Jan 30 20:07:57 GMT 2000)
Copyright (c) 1982-1999 University of Sussex. All rights reserved.
Setpop
:
test it:
999*9 =>
** 8991
Leave it with CTRL-D.
Now make newpop11 the new corepop11 file
cp newpop11 corepop11
Now, using this "safe" corepop11, rebuild all the system-building saved
images, after deleting the old ones (including the recently built
poplink.psv which is no longer needed):
rm *.psv
$popsrc/mksyscomp poplink poplibr popc
$popsrc/mknewpop
Check the outcome:
ls -l *.psv
You should now have these saved images:
newpop.psv popc.psv poplibr.psv poplink.psv
used by these scripts:
$popsrc/newpop $popsys/pgcomp $popsys/pglibr $popsys/pglink
Make the "safe" image corepop, so that the scripts will work when they
try to run the saved images:
cp corepop11 corepop
You no longer need corepop11
rm corepop11
If you wish you can reduce the size of corepop
strip corepop
Now set up the final set of links needed to corepop (this may be
redundant, depending on the contents of your $popsys directory):
rm poplink poplibr popc
ln -s corepop poplink
ln -s corepop poplibr
ln -s corepop popc
You should now be able to run pgcomp, pglibr, popc and newpop.
E.g. to relink an entirely new poplog including motif (if you have motif
or lesstif libraries installed in the usual motif location) do the
following, as described in HELP NEWPOP
$popsrc/newpop -link -x=-xm -norsv
(The rsvpop11 file is no longer needed for "delivering" applications.)
You can see all the actions newpop will take by default by looking in
the file $popsrc/newpop_options
You may wish to remove or modify some of them.
It may or may not be necessary to run $popcom/mkXpw to rebuild the
poplog widget set libraries.
If you wish simply to create an executable and test it out do this:
$popsrc/newpop -link -x=-xm -norsv -noinstall
That will create the files newpop11 newpop11.stb newpop11.map
Later you can copy them (using "cp" not "mv" to preserve links) to the
basepop11 versions and then delete the newpop11*
If you don't have motif or lesstif, and want the basic X facilities
replace "-xm" with "-xt".
Having got a basepop11 that you are sure works as required, you can
either start again and let newpop do everything, or run various
command files separately, e.g.
$popcom/mkstartup
creates the file startup.psv run by the pop11 command
$popcom/mkxved
allows you to go directly into xved
$popcom/makeimages
creates additional language images: prolog, lisp, ML
$popcom/mkind
To create indexes for "ENTER sourcefile"
$popcom/makeindexes
To create an index in each help, doc, ref, teach. lib directory,
etc. WARNING if you have symbolic links that are circular this
script will follow them all.
I hope that suffices for now.
I'll post an announcement when I have put all this in the "rebuilding"
file mentioned above.
Much of the above was discovered by experimenting and reading
shell scripts as well as system documentation. If any expert finds
mistakes, please let me know.
We need a shell script to do all that!
Aaron
--
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk (NB: Anti Spam address)
TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
|