Fixing systime in linux poplog on X86 
Author Message
 Fixing systime in linux poplog on X86

[PLEASE NOTE:
    To reply replace "Aaron.Sloman.XX" with "A.Sloman" not "Aaron.Sloman]

I previously reported that the Pop-11 procedure systime() was giving the
wrong times in linux+intel Poplog.

This also affected other utilities, e.g. timediff, profile, etc.

In particular, times were three times too large!

Thanks to Robert Duncan at Sussex University the problem has been
identified.

This is what to do to fix it, assuming that you have set $usepop
and have all the environment variables set as required to run
Pop-11.

First a precautionary measure to save a minor problem later on.

See if you have the following circular link, and if so remove it

    /usr/local/poplog/local/local

(This was inadvertently included by me in an old Poplog linux
distribution.)

Then:

1. cd $popsrc

2. Edit the file systime.p: in this line

    lconstant macro _SC_CLK_TCK =       #_IF DEF HPUX or DEF ALPHA_LINUX _2

change the occurrence of "ALPHA_LINUX" to "LINUX"

2. compile the new version of systime.p, with this shell command:

    pgcomp systime.p

This will create two new files  (if pgcomp does not work see [*], below)
    systime.o
    systime.w

3. Archive the new version (if pglibr does not work see [*])

    pglibr -r ../obj/src.wlb systime.w

That will change these two archive library files:

    $popobjlib/src.olb
    $popobjlib/src.wlb

4. Delete the .o and .w files

    rm *.o *.w

5. Relink Poplog

If you have motif, or lesstif installed give this command:

    $popsrc/newpop -norsv -x=-xm
    (If that causes error messages see [**] below)

Otherwise, to relink without motif/lesstif:

     $popsrc/newpop -norsv

The newpop command will rebuild various files in
    $popsys

it will create saved images in
    $popsavelib

and it will rebuild index files in many directories, including
the subdirectories of $poplocal/local. If the latter contains
a circular link it will go on indefinitely!

[*] If you cannot run pgcomp, pglibr, or newpop, this may be
because you have an old version of linux poplog, with files
in $popsys dating back a long time. You can fetch this file
to find out what to do

    http://www.*-*-*.com/

After fetching it, study it, then make it executable, and run it.
It should rebuild a set of executables and saved images that can
be used for pgcomp, pglibr, pglink and newpop.

Then follow the above instructions.

[**]
If you are attempting to relink with motif/lesstif and everything
works up to the point at which you run newpop, then it may
be that you have to alter an environment variable that sets
the motif version.

Try this:
    echo $POP_XM_EXLIBS

It may print out something like
    x=motif/1002: -L/usr/X11R6/lib -lXm -lXt -lXext -lX11

Where the item after the "/" represents the version. Try changing
it to a different version, e.g. (using csh)

setenv POP_XM_EXLIBS "x=motif/2001: -L/usr/X11R6/lib -lXm -lXt -lXext -lX11"

(or the equivalent if you are using bash, or sh).

Alternatively edit the files
    $popcom/popenv
    $popcom/popenv.sh
and where XM_VER is defined as 1002 replace it with 2001
then re-source the file. After that newpop should link with
motif successfully (it did for me with Open motif).

Later I'll install fixed versions of linux poplog at the free Poplog
site
    http://www.*-*-*.com/
Aaron



Fri, 07 Feb 2003 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. systime in linux poplog on X86

2. Linux poplog (not systime)

3. the old free linux poplog comes to life on suse linux

4. poplog for small linux systems

5. Tuning linux-poplog

6. Tuning linux-poplog # correction

7. Bug in array implementation in linux+PC poplog

8. Linux Mandrake Poplog Installation

9. Problem with linux poplog

10. Poplog on Linux

11. Minor bug in B'ham Linux Poplog symlinks

12. Running linux poplog with Lesstif (now works)

 

 
Powered by phpBB® Forum Software