Re: broken terminfo database in latest ncurses?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1 February 2018 at 11:28, Miroslav Lichvar <mlichvar@xxxxxxxxxx> wrote:
On Thu, Feb 01, 2018 at 10:50:59AM +0100, Miroslav Lichvar wrote:
> It seems to be an slang issue, not supporting the new format. There
> was a report on the ncurses list:
> http://lists.gnu.org/archive/html/bug-ncurses/2018-01/msg00052.html
>
> I'm not sure how difficult it will be to fix/update slang. We could
> revert the changes in terminfo if necessary.

It looks like a support for the extended numerical capabilities is
already included in the slang repo...

BTW SLang I see that patch which I've submitted in https://bugzilla.redhat.com/show_bug.cgi?id=1436909
about remove some terminfo paths still is not included
SLang has hardcoded few base paths of terminfo DB which are not used on Fedora

It is easy to ttrace this by:

$ strace -o out -e trace=file mc

then just quit mc and:

$ grep terminfo out 
openat(AT_FDCWD, "/home/tkloczko/.terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/tkloczko/.terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/etc/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)  <<=== from here
openat(AT_FDCWD, "/usr/local/etc/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory) 
openat(AT_FDCWD, "/etc/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory) <<=== to here
openat(AT_FDCWD, "/usr/share/terminfo/x/xterm-256color", O_RDONLY) = 3

Will try to (re)submit this patch again.

Nevertheless it would be probably good to invest a bit more time in mc development to switch it from SLang to ncurses.
At the moment is known issue with ncurses and mc https://bugzilla.redhat.com/show_bug.cgi?id=1440110

I'm almost sure that somewhere in mc or SLang code instead reading some terminfo entries is hardcoded use some exact terminal sequences and it is possible to fix this issue by simple remove some number of lines.

mc is one of the only few packages which is using SLang and it would be better if it will be possible to use it with ncurses.

# dnf -C repoquery --whatrequires 'libslang.so.2()(64bit)'
aalib-0:1.4.0-0.32.rc5.fc27.x86_64
aalib-libs-0:1.4.0-0.32.rc5.fc27.x86_64
crypto-utils-0:2.5-1.fc28.x86_64
jed-0:0.99.19-14.fc27.x86_64
libcaca-0:0.99-0.35.beta19.fc28.x86_64
mc-1:4.8.19-7.fc27.x86_64
most-0:5.0.0-16.a.1.fc27.x86_64
newt-0:0.52.20-5.fc28.x86_64
newt-python3-0:0.52.20-5.fc28.x86_64
perf-0:4.15.0-0.rc9.git0.1.fc28.x86_64
python2-newt-0:0.52.20-5.fc28.x86_64
slang-devel-0:2.3.1a-5.fc27.x86_64
slang-slsh-0:2.3.1a-5.fc27.x86_64
slrn-0:1.0.2-7.fc27.x86_64
slrn-pull-0:1.0.2-7.fc27.x86_64

IIRC aalib is possible to compile with ncursess (IIRC Solaris userland has uses it that way).
At the moment because mc uses gpm which is using ncurses on run-time mc is effectively linked with both SLang and ncurses librarier.

$ ldd /usr/bin/mc
linux-vdso.so.1 (0x00007ffffbd2f000)
libslang.so.2 => /lib64/libslang.so.2 (0x00007faa64a70000)
libgpm.so.2 => /lib64/libgpm.so.2 (0x00007faa64869000)
libssh2.so.1 => /lib64/libssh2.so.1 (0x00007faa6463c000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007faa64438000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007faa64123000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faa63f04000)
libc.so.6 => /lib64/libc.so.6 (0x00007faa63b45000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007faa63941000)
libm.so.6 => /lib64/libm.so.6 (0x00007faa635ad000)
libncurses.so.6 => /lib64/libncurses.so.6 (0x00007faa63383000)
libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007faa63156000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007faa62eea000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007faa62a62000)
libz.so.1 => /lib64/libz.so.1 (0x00007faa6284b000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007faa625d8000)
/lib64/ld-linux-x86-64.so.2 (0x00007faa652a2000)
$ objdump -x /usr/bin/mc| grep NEEDED
  NEEDED               libslang.so.2
  NEEDED               libgpm.so.2
  NEEDED               libssh2.so.1
  NEEDED               libgmodule-2.0.so.0
  NEEDED               libglib-2.0.so.0
  NEEDED               libpthread.so.0
  NEEDED               libc.so.6

kloczek
-- 
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux