ncurses and ncursesw

Dennis Veatch dennisveatch at bellsouth.net
Fri Apr 29 19:13:28 CEST 2011


The way ncursesw installs or rather does not install all the things it does is
not sufficient to support other modules requiring a wide terminal. Two I am 
aware of are; cdw-0.6.0 (not in moonbase atm) and the ncurses version of 
x3270. I think there may be a few others but do not recall atm.

I have done some poking around with this module and came up with this;

(

  if [ $WITH_DEBUG == "y" ]; then
    OPTS+=" --with-debug"
  else
    OPTS+=" --without-debug"
  fi;

  if [ $WITH_PROFILING == "y" ]; then
    OPTS+=" --with-profile"
  else
    OPTS+=" --without-profile"
  fi;

# Seems that ncurses-5.5 has problems with garbage in /usr/share/terminfo
# Note: ncurses-5.5 also has all the "screen" files for terminfo, so no 
recompile is needed
  rm -rf /usr/share/terminfo  &&

# ************************ WARNING *************************
# DO NOT MESS WITH THE CONFIGURE STUFF here unless you
# really know what you're doing! We chose the lib location
# specifically so we could link ncurses to bash which is 
# needed at init time! If you move it you could break your 
# system!
unset CC CXX 

set -x
  ./configure  --build=$BUILD                            \
               --prefix=/usr                             \
               --libdir=/lib                             \
               --with-normal                             \
               --with-shared                             \
               --mandir=/usr/share/man                   \
               --with-manpage-format=gzip                \
               --disable-termcap                         \
               --enable-colorfgbg                        \
               --with-terminfo-dirs=/usr/share/terminfo  \
               $OPTS                                    &&

  default_make &&

set +x &&

# Now to make nucurses wide
  make clean &&

  unset CC CXX  &&

set -x
  ./configure  --build=$BUILD                            \
               --prefix=/usr                             \
               --libdir=/lib                             \
               --with-normal                             \
               --with-shared                             \
               --includedir=/usr/include/ncursesw        \
               --mandir=/usr/share/man                   \
               --with-manpage-format=gzip                \
               --disable-termcap                         \
               --enable-colorfgbg                        \
               --with-terminfo-dirs=/usr/share/terminfo  \
               --enable-widec                            \
               $OPTS                                    &&

set +x &&               
  default_make &&
  gather_docs ANNOUNCE TODO

) > $C_FIFO 2>&1


The second build just runs with widec and installs the needed headers in 
/usr/include/ncursesw. Attached are some install logs from a "non-wide" 
ncurses and one from the above BUILD. The gist is this; 

1. all wide versions of libs are append with a "w" such as libmenuw.so while 
the libmenu.so remains.

2, all wide headers are placed in include/ncursesw to avoid some conflicts in 
naming conventions with some of the same header names needed by non-wide and 
wide.

Before recompiling any modules the machine was rebooted and all is well. I 
then recompiled a few modules such as; grub, screen, samba, cdw-0.6.0, NVIDIA-
beta and a few others with no issues.

I have a foggy recollection from some years back when cmak wanted ncursesw. I 
do not recall the reasons for its denial and find the addition of the nucrsesw 
modules a bit odd. If we intend to make such available then we should 
correctly install the needed libs/headers to support wide.

-- 
Dennis `stumbles` Veatch
Lunar Linux Developer
http://www.lunar-linux.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ncurses-5.9.wide.and.nonwide.install.log
Type: text/x-log
Size: 94504 bytes
Desc: not available
URL: <http://foo-projects.org/pipermail/lunar-dev/attachments/20110429/7b12a94f/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: non-widencurses.install.log
Type: text/x-log
Size: 93512 bytes
Desc: not available
URL: <http://foo-projects.org/pipermail/lunar-dev/attachments/20110429/7b12a94f/attachment-0003.bin>


More information about the Lunar-dev mailing list