Bug #3271
Using NCURSES 6.0 on systems that does not have 5.9 sources with fresh install
0%
History
#1 Updated by Eugenie Lyzenko about 7 years ago
Background:
Eugenie,
I think we have a serious problem with ncurses 5.9 vs 6.0. As far as I can tell, the following situation exists:
1. In Ubuntu 16.04, ncurses is at the 6.0 level. Older versions (2 versions ago?) used 5.9.
2. Our patching process will patch this new 6.0 version.
3. Our FWD linking is done to ncurses 5.9. Use "ldd build/lib/libp2j.so"
to see what was linked.
4. Our patching process doesn't work for ncurses 5.9 because there is no source package for it.
5. When you try to load the native ChUI client (client-terminal.sh in the Hotel ChUI project) it will:
--> work on systems that have been upgraded over time and at one time a year (or more) ago, patched ncurses 5.9 and still have that patched version installed
--> not work on a fresh Ubuntu installation because there is no patched 5.9 there, the client will fail to load
I don't see an easy way to get a patched 5.9 for Ubuntu 16.04. I think we need to see if we can link (and run) against 6.0.
If 6.0 can't be used, then we would have to have a process to patch and install the 5.9 for use. This could be really nasty. This is pretty urgent because it means that our native console ChUI client can't be used by anyone that wasn't already using it a year ago.
Could you please look into this? Create a new Redmine task for it. Let me know if anyone that has other ideas.
Thanks,
Greg
#2 Updated by Eugenie Lyzenko about 7 years ago
Another note:
Greg,
I have this in a recent fresh Ubuntu 16.04 VM, with a FWD built in the VM, and the terminal client works:
fwd@fwd-demo:~/fwd$ cd build/lib fwd@fwd-demo:~/fwd/build/lib$ ldd libp2j.so linux-vdso.so.1 => (0x00007ffef50fe000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fc7ac464000) libncurses.so.6 => /lib/x86_64-linux-gnu/libncurses.so.6 (0x00007fc7ac209000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc7ac004000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fc7abe01000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc7aba38000) /lib64/ld-linux-x86-64.so.2 (0x0000556aa44a9000)
Where did you see this? On my workstation I have this:
ca@xuxa:~/workspace/hotel/p2j/build/lib$ ldd libp2j.so linux-vdso.so.1 => (0x00007ffd2b97f000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f09d2e2a000) libncurses.so.5 => /usr/lib/libncurses.so.5 (0x00007f09d2bd5000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f09d29d0000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f09d27cd000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f09d2404000) /lib64/ld-linux-x86-64.so.2 (0x000056302afce000)
Thanks,
Constantin
#3 Updated by Eugenie Lyzenko about 7 years ago
And one more:
Constantin,
On your fresh VM, does it also have a libncurses.so.5.9 and what is the size/date?
NOT WORKING: demosrv01 (a recently built VM)
ldd /opt/poc/p2j/build/lib/libp2j.so libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f232a8ab000) lrwxrwxrwx 1 root root 17 Feb 19 2016 /lib/x86_64-linux-gnu/libncurses.so.5 -> libncurses.so.5.9 -rw-r--r-- 1 root root 138112 Feb 19 2016 /lib/x86_64-linux-gnu/libncurses.so.5.9 lrwxrwxrwx 1 root root 17 Apr 2 15:17 /lib/x86_64-linux-gnu/libncurses.so.6 -> libncurses.so.6.0 -rwxr-xr-x 1 root root 411456 Apr 2 15:17 /lib/x86_64-linux-gnu/libncurses.so.6.0 -rwxr-xr-x 1 root root 411456 Apr 2 15:17 /lib/x86_64-linux-gnu/libncurses.so.6.0.ori
WORKING: devsrv01:
ldd testing/majic/p2j/build/lib/libp2j.so libncurses.so.5 => /usr/lib/libncurses.so.5 (0x00007fd527a8d000) lrwxrwxrwx 1 root root 15 Apr 1 07:17 /usr/lib/libncurses.so -> libncurses.so.6 lrwxrwxrwx 1 root root 17 Feb 21 15:17 /usr/lib/libncurses.so.5 -> libncurses.so.5.9 -rwxr-xr-x 1 root root 390072 Feb 21 15:17 /usr/lib/libncurses.so.5.9 lrwxrwxrwx 1 root root 17 Apr 1 07:17 /usr/lib/libncurses.so.6 -> libncurses.so.6.0 -rwxr-x--- 1 root root 411456 Apr 1 07:17 /usr/lib/libncurses.so.6.0
Notice the sizes of libncurses.so.5.9. I haven't seen any system which links with the libncurses.so.6. What is different about that system?
Greg
#4 Updated by Eugenie Lyzenko about 7 years ago
Greg,
I can run the testcases.Hello
testcase in ChUI
client with patched NCURSES 6.0
.
However this is not clean test. My system was under permanent upgrading since first set up(~2013 Year) and it has 5.9
too(but now not patched in /lib/x86_64-linux-gnu
directory, the patched version for 5.9
is inside /usr/lib/
)
How it is happen the libp2j.so
is linked to libncurses.so.5
? On my systems /usr/lib/libncurses.so
points to the /usr/lib/libncurses.so.6 => /usr/lib/libncurses.so.6.0
Looks like I have to set up clean Ubuntu 16.04
in KVM
to investigate what is happening with fresh installation.