[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Jan 31 00:30:48 2000 
Subject:Re: pglink crash/core dump of Redhat Linux 6.1? Help! 
From:Aaron Sloman See text for reply address 
Volume-ID:1000131.01 

[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