Jay Schlackman <siu01jps@rdg.ac.uk> wrote, echoing what Chris Dollin
had written:
>...
> Once I sorted that out and tried again, poplog did install. It
> did spit out dozens of the "Incorrectly built binary which accesses
> errno, h_errno or _res directly. Needs to be fixed." messages that Chris
> is receiving, and just like his install, spits one out every time I
> run poplog, but it *does run*.
> ...
Here's my guess as to what's wrong.
The directory $popexternlib i.e. $usepop/pop/extern/lib includes
a collection of C files, a shell command file mklibpop, and a
library archive libpop.a
The C files access errno and other unix/linux things (i've just
checked).
The mklibpop script recompiles the C files and rebuilds the libpop.a
library.
If I run mklibpop on redhat 8 I get a lot of warnings, though it does
actually rebuild the library.
If instead I do
cc -c *.c
That creates a bunch of .o files without any warnings.
Then after saving libpop.a somewhere as a precaution, do
ar rc libpop.a *.o
That creates a new libpop.a and I don't get any warnings.
That suggests to me
(a) that there's something wrong with the script mklibpop
(b) that I should alter the installation process to run
mklibpop in $popexternlib before relinking poplog.
Can anyone tell me what's causing the error/warning messages
when mklibpop runs?
Anyhow after that I tried
cd $popsys
./poplink_cmnd
That links a new executable, newpop11.
If it runs OK, as it does on my system, then you can do
cp newpop11 basepop11
(NB do not use 'mv' instead of 'cp' as that will screw up a lot
of links.)
After that you can recreate saved images.
$popcom/makeimages
to rebuild the 'standard' saved images in $popsavelib
then to rebuild the bham images
cd $poplocal/local/com
mkstartup.local
mkxved.local
if you want prolog
mkplog.local
mkxvedpro
creates a version of xved that starts in prolog
if you want common lisp
mkclisp.local
mkxvedlisp
if you want standard ML
mkpml
and for fun
mkeliza
The pop11 eliza (run as pop11 +eliza)
mkgblocks
The pop11 mini-SHRDLU (run as pop11 +gblocks)
If anyone who has redhat 9 tries this out, please let me
know if it gets rid of the warning messags.
Meanwhile I'll see if I can alter the standard startup script
to rebuild libpop.a
Another possible source of problems is that the Xpw library
should probably also be rebuilt on each new installation.
I've been scared to do that automatically in case it stops something
working!
If I run $popcom/mkXpw (after saving $popexternlib/libXpw.so ) it all
seems to work, though I get repeated warnings of the form:
cc1: warning: changing search order for system directory "/usr/include"
cc1: warning: as it has already been specified as a non-system directory
This builds a new version of $popexternlib/libXpw.so and then the
poplink_cmnd script can be used to incorporate that in a new
version newpop11, etc.
I guess that should all be part of the standard installation process.
Aaron
|