Bug 5198 - Line graphics output is broken in GNU Screen
Summary: Line graphics output is broken in GNU Screen
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2012.02
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-07 08:45 UTC by Zoltan Kelemen
Modified: 2012-05-07 21:21 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zoltan Kelemen 2012-05-07 08:45:01 UTC
Line graphics looks garbled when output over a Screen terminal.

For example:
$ echo -e "Line: \033(0qqqqqqqq\033(B Normal: qqqqqqqq"

Results in output:
Line: qqqqqqqq Normal: qqqqqqqqq

When it should result in a horizontal line after "Line:". (Screen terminal type is "screen" and underlying terminal type can be for example "vt102" or "xterm").

The problem is due to screen being compiled without TERMINFO defined, meaning that it uses termcap control codes, while ncurses is built with terminfo support only (without termcap backwards compatibility support).

The root of the problem is the termcap/terminfo detection at line 666 in configure.in. The detection uses AC_TRY_RUN which always fails when cross-compilation is used, and TERMINFO is therefore never defined.

An easy fix could be to force terminfo support in the Buildroot screen makefile:
--- screen.mk	2012-02-29 23:19:47.000000000 +0100
+++ screen-fixed.mk	2012-05-07 10:42:50.938185870 +0200
@@ -10 +10 @@
-SCREEN_CONF_ENV = CFLAGS=-DSYSV=1
+SCREEN_CONF_ENV = CFLAGS="-DSYSV=1 -DTERMINFO"
Comment 1 Peter Korsgaard 2012-05-07 21:21:32 UTC
Fixed by Gustavoz in git