From: Aaron.Sloman.XX@cs.bham.ac.uk (Aaron Sloman See text for reply address) Newsgroups: comp.lang.pop Date: Mon Jan 31 00:30:48 2000 Subject: Re: pglink crash/core dump of Redhat Linux 6.1? Help! Message-ID: <872l3o$6l$1@soapbox.cs.bham.ac.uk> X-Volume-ID: 1000131.01 Content-Length: 6202 [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 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