Red Hat Bugzilla – Bug 77585
Build wide-curses library.
Last modified: 2015-01-07 19:01:36 EST
Description of Problem:
Psyche defaults to UTF-8 locale, which is not supported by lincurses.
Adding --enable-widec to the configure script builds a second library that uses
wide characters, lincursesw, which supports UTF-8.
I note that the current package does install the man pages for the
wide-character libncursesw, even though the actual library is not installed.
My current best advice for this is to use ncurses 5.3 with the rollup patch at ftp://invisible-island.net/ncurses/5.3 - that incorporates fixes which I made to display line-drawing characters for Linux console and screen with UTF-8 locales.
5.3 should be in the next release
*** Bug 81769 has been marked as a duplicate of this bug. ***
*** Bug 73422 has been marked as a duplicate of this bug. ***
*** Bug 80806 has been marked as a duplicate of this bug. ***
*** Bug 70931 has been marked as a duplicate of this bug. ***
*** Bug 68199 has been marked as a duplicate of this bug. ***
fixed in ncurses-5.3-1
*** Bug 81085 has been marked as a duplicate of this bug. ***
*** Bug 75175 has been marked as a duplicate of this bug. ***
This is still very broken.... As a matter of fact it took a program that uses
ncurses that was ugly and made it totally unreadable :)
what was the program (and the terminal description of course)? I haven't seen
the RPM file in question, so I'll have to assume it's based on the rollup
patch, which works well enough for me on 8.0 (using an incorrect $TERM such
as "vt100" on the console will only make things worse ;-)
Please try 5.3-3, which adds the redhat version of xterm to the terminfo.src.
Just grabbed the latest one and its equally as bad. Not even a single character
looking superficially at the program, i see that it dymanically links to both
termcap AND ncurses, which is not a good thing and will not survive upgrades.
You should use one or the other to guarantee your application will survive lib
the app in question seems to rely on a particular version of ncurses not being
upset with it's custom screen management.
the quick fix for the app vendor is to have their application statically link
with the termcap and ncurses combination that they test against. backwards
compatibility with their non-standard combo usage of ncurses/termcap
unfortunately cannot be guaranteed without breaking everything else as we move
forward with i18n.
Description of your problem:
There is a differences in terminfo database for console
(/usr/share/terminfo/l/linux) for capability setb setf and sgr because for our
customer that use RM-CObol-85 not work properly programs when display colors.
Not draw graphic lines.
This problems not exist with release of redhat linux 7.1 and 7.2.
What is changed between this release ?
Particulary not work high intensity that in coincidence between foreground and
background display yellow color.
We have also installed ncurses 5.3 and the problem is the same.
Thanks. Resolution of this problem to make easy to resell RedHat products.
ing. P.Annunziata Delta Sistemi srl
Our latest response:
Re: ticket update
Its best that you update the bug report 77585 so that our developers could
address this issue directly to you.
I'm afraid this one sounds like a Redhat issue which
I've read about: Redhat disabled the bold attribute,
to make a font "work" on the console. It's not a
problem with ncurses or the terminfo description.
I'm curious why this is marked closed, since it was not
I'm waiting solution of this problem. I hope to have explained well.
rawhide ncurses-5.3-4.src.rpm has the patch to solve this bug:
* Thu Feb 06 2003 Bill Nottingham <firstname.lastname@example.org> 5.3-4
- fix debuginfo package
* Fri Jan 31 2003 Adrian Havill <email@example.com> 5.3-3
- remunged xterm changes from 5.2 patch for 5.3
- updated screen entry (#82951)
- fixed ka3, kb2 and kf0 entries (#77506)
* Wed Jan 22 2003 Tim Powers <firstname.lastname@example.org>
* Wed Jan 22 2003 Adrian Havill <email@example.com> 5.3-1
- upgrade to 5.3 for sake of utf-8, wide chars (#77585 ...)
- spec file summary/desc grammar (#73583)
- add Requires: for c++ devel subpkg (#74002)
- terminfo.src patches no longer needed
- adjust autoconf patch
Technically, rawhide does NOT fix *this* bug. The only way to support UTF-8 in
ncurses is to build lincursesw.so, using --enable-widec to configure.
Only the wide version of ncurses, that internally uses Unicode, will handle
UTF-8 properly. The standard version of curses will think that each UTF-8 octet
occupies a separate character cell, and is completely ignored of double-wide
simplified/traditional Chinese characters.
libncursesw.so naturally uses a completely different ABI, so this bug should
probably be deferred until such time the ncurses package is actually flipped
into wide-character mode, and everything else is recompiled against it...
There won't be (is no technical reason for) an ABI change: libncurses and libncursesw co-exist.
See for example, Debian, which is doing this.
Reconsider adding the widec libs for a future release?
Created attachment 92036 [details]
Patch to ncurses spec to enable widec includes + libraries
This is a patch to the ncurses 5.3-4 spec to build widec enabled includes and
libraries without affecting the "narrow" includes and libraries. No source code
changes need to be made to ncurses for this to work, and it will not break
compatibility with pre-existant ncurses dependent applications.
By enabling widec includes and libraries, we open the door to applications like
cone, and continue supporting UTF-8.
Created attachment 92038 [details]
fixed version of original patch
This patch keeps %configure instead of using ../configure. Thanks to Jeremy
Katz for pointing this out.
As I read the attachment, it says it uses the 20021231 rollup
patch. Currently, the 20030510 rollup + 20030517 weekly
patch are the best solution (it fixes a bug in Linux console
for wide-character library when UTF-8 is disabled).
thanks for the patch. I'm still cleaning up ncurses spec (it will include the
0517 patch, as this includes many UTF-8 wide fixes). it will have --enable-widec.
Note that apps will still have to be rebuilt to link against the "w" libraries
(which I'm doing for the obvious ones)
ncurses 5.3-5 from Rawhide still isn't there yet. It only installs the include
files for the narrowchar version of curses. When you use --enable-widec, the
resulting include files are different than without --enable-widec.
For example, only the --enable-widec-built ncurses.h declares mvaddwstr().
Widechar applications still cannot be built against ncurses 5.3-5, they need the
widechar version of the include files, which are not installed.
Try looking now (I don't control how/when Rawhide syncs up with internal data, btw).