libncursesw display problem in ubuntu 20.4

Asked by Bernard Moreton on 2020-10-16

Since upgrading from 18.04 LTS to 20.04 LTS I have 2 problems in the screen display using AUBIT4GL

(1)
in displaying data to a screen array where the first field is short (<4 characters) and the gap between the first 2 fields is a single space, and normal display has no explicit colour attribute,
the second field is shifted left by one character.
The CURRENT row, with colour attribute set, displays correctly.
As the row cursor is shifted down the screen and back up, the 'ghost' of previous display remains, so the first 2 fields appear a mess.
If "normal" libncurses is used, the problem does not appear.
The problem can be 'fixed' (or rather, hidden) by applying an explicit colour attribute to the display window, even if it's the same as the implicit colour used when no attribute is given.

(2)
In displaying a window with a border with the top left set at column 3, the border is displayed 1 character space left of the screen fields, so that there is a gap at the left, and the right-hand border is lost.
A variant of this problem appears in a couple of instances, where a MENU line is displayed. In these cases, the border round the 3 sides of the menu lines (top or bottom of the screen) are offset left by 1 and the rest of the border displays correctly.

The only 'fix' I have found is to shift all windows that were starting in column 3, to use column 2 or 4+

I realise that this may not be a cursesw problem, and checking the source code for aubit4gl is beyond me - but as far as I can see, libncursesw is the only thing that has changed ...

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu ncurses Edit question
Assignee:
No assignee Edit question
Last query:
2020-10-17
Last reply:
2020-10-20
Bernard Stafford (bernard010) said : #1

Package libncursesw5
    focal (20.04LTS) (libs): shared libraries for terminal handling (wide character legacy version) [universe]
    6.2-0ubuntu2: amd64 arm64 armhf i386 ppc64el s390x
https://packages.ubuntu.com/focal/libncursesw5

Package libncursesw6
   focal (20.04LTS) (libs): shared libraries for terminal handling (wide character support)
    6.2-0ubuntu2: amd64 arm64 armhf i386 ppc64el s390x
https://packages.ubuntu.com/focal/libncursesw6
Package Search : I found 2 different packages do you know which you have. The other package is a dev package.

I have
libncurses-dev 6.2-0
libncursesw5 6.2
libncursesw5-dev 6.2
libncursesw6 6.2

as well as
libncurses5 6.2
libncurses5-dev 6.2
libncurses6 6.2

Memory tells me (perhaps wrongly) that I needed the dev package for aubit4gl
Since the application continues to work properly (well, more or less) after the Ubuntu upgrade, I assume it is not calling either v.5 or v.6 specifically, and therefore is probably (?) getting v.6
Is there any way I can check?

The Aubit developer advises
ldd libUI_TUI_wide.so
 linux-vdso.so.1 (0x00007ffd2d8f9000)
 libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007f9ac310e000)
 libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007f9ac30dc000)
 libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f9ac30ae000)
 libpanelw.so.5 => /usr/lib/x86_64-linux-gnu/libpanelw.so.5 (0x00007f9ac30a7000)
 libformw.so.5 => /usr/lib/x86_64-linux-gnu/libformw.so.5 (0x00007f9ac3093000)
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9ac2ea1000)
 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9ac2e99000)
 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9ac2e76000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f9ac35e1000)

Bernard Stafford (bernard010) said : #4

Dev packages contain files needed for writing code that links to the program. You do not need these packages in order to use the program. They are for Developers that wright code to link or attach to that package usually in development of a new package. Is that what you are using the Dev packages for?
Dbg packages contain debugging symbols, which as the name implies are used when debugging the program.

Thank you - I'll read and learn from that HOWTO, which I haven't seen before.

But no, I'm only using curses at one remove. Aubit4GL uses ncurses to enable display and input of data through screens that are user-defined in terms of layout, via text files that are compiled through A4GL.

I just observe display problems after the upgrade to Ubuntu 20.04 LTS, that weren't there in Ubuntu 18.04.
My code and screen definitions hadn't changed. Aubit4GL hadn't changed.
The changes in libncursesw were a prime possible cause of the new behaviour?

Bernard Stafford (bernard010) said : #7

Please file a Bug report on the package. Terminal: ubuntu-bug linux
Thank You

Thank you, Bernard. Bug report now filed.
Best wishes.

Can you help with this problem?

Provide an answer of your own, or ask Bernard Moreton for more information if necessary.

To post a message you must log in.