Project

General

Profile

Bug #3271

Using NCURSES 6.0 on systems that does not have 5.9 sources with fresh install

Added by Eugenie Lyzenko about 7 years ago. Updated about 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
04/02/2017
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

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.

Also available in: Atom PDF