On Fri, May 07, 2021 at 02:01:11PM -0400, [email protected] wrote:
> I don't know a way to rebuild on a machine that has no working version of
> pop11 at all, which is the position on my Ubuntu LTS with kernel 5.8.
If you have good build tree (with .o files) then running 'mklibpop' in
pop/extern/lib and then 'poplink_cmnd' in pop/pop with proper environment
(say via 'poplog.sh' script) should do.
> So I tried rebuilding, with the patch, on Scientific Linux 7. C programs
> that I compile myself on the Scientic Linux machine run on the Ubuntu one
> when all relevant libraries are present.
>
> On SL, I get a new basepop11 which works as expected there. When I transfer
> the new basepop11 to Ubuntu and try to run it, it loops, using 100% of cpu,
> and never gives a system prompt. If I run it under gdb, I get an infinite
> succession of lines
>
> process 733915 is executing new program: /home/steve/basepop11
>
> all with the same process number.
>
> It's not a matter of total incompatibility between SL and Ubuntu, because I
> also have access to an Ubuntu LTS system that is still on kernel 5.4, and
> the new basepop11 is ok there. Any suggestions for what to do differently
> or tests I should run?
Could you try strace? Running
./poplog.sh strace -o p_trace pop11
gives me pop11 prompt. When I exit from poplog there is log of
system calls in p_trace. What matters are lines around personality.
In my case I see:
personality(0xffffffff /* PER_??? */) = 4194304
personality(0x440000 /* PER_??? */) = 4194304
personality(0xffffffff /* PER_??? */) = 4456448
readlink("/proc/self/exe", "/mnt/lv3/kompi0/poplog/pp6.pp3y/"..., 4096) = 45
execve("/mnt/lv3/kompi0/poplog/pp6.pp3y/pop/pop/pop11", ["pop11"], [/* 71 vars
*/]) = 0
and later
personality(0xffffffff /* PER_??? */) = 4456448
The calls with 0xffffffff as argument ask for current personality, we
need last value which in hex is 0x440000. On my system default is
0x400000 (decimal 4194304).
--
Waldek Hebisch