Bug 5198

Summary: Line graphics output is broken in GNU Screen
Product: buildroot Reporter: Zoltan Kelemen <zkdigisec>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: buildroot
Priority: P5    
Version: 2012.02   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: Target:
Build:

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