This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

ncurses announcement - trial run


Does anyone have any objections to the following...content and 
presentation?  (I'm being a bit paranoid here because I sense that I am 
setting a precedent, and I want to get it right).

Also, will the requirement to use '-Wl,--enable-auto-import' when 
linking dynamically -- at least until it becomes the default -- cause 
undue hardship?  Corinna?

--Chuck
The ncurses package has been updated to ncurses-5.2-5. ncurses is a package that provides character and terminal handling libraries, including 'gui-like' panels and menus.  It is often used instead of termcap.

MAJOR CHANGES to the ncurses package:
  
  1. The ncurses package has been split into three separate packages:
     ncurses-5.2-6     (contains the static libs, header files,
                        man pages, etc)
     libncurses6-5.2-1 (contains the new DLL's)
     terminfo-5.2-1    (contains the terminfo database)

  2. libncurses5-5.2-1 is a new package containing the old
     DLLs from ncurses-5.2-5, for backward compatibility.

  3. ncurses is now built using the 'auto-import' features of 
     recent binutils.

See NOTES below for additional information.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!! WARNING WARNING WARNING WARNING !!!!!!

To update your system, you must run setup.exe TWICE.  First, run setup
and update ONLY the ncurses package from 5.2-5 to 5.2-6.  UNSELECT any 
other packages.  Continue until setup completes and exits.  Second, run 
setup and install the new terminfo, libncurses5, and libncurses6 
packages.  Continue until setup completes and exits.  You MUST do BOTH 
steps, or your cygwin installation will be broken.

!!!!! WARNING WARNING WARNING WARNING !!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

INSTALLATION:

To update your installation, click on the "Install Cygwin now" link on
the http://cygwin.com/ web page.  This downloads setup.exe to your
system.  Then, run setup TWICE and answer all of the questions EACH TIME.
The FIRST time, update ONLY the ncurses package.  The SECOND time, install
the terminfo, libncurses5, and libncurses6 packages.  You MUST do BOTH 
steps.

Note that we have recently stopped downloads from sources.redhat.com
(aka cygwin.com) due to bandwidth limitations.  This means that you will 
need to find a mirror which has this update.

In the US,
ftp://mirrors.rcn.net/mirrors/sources.redhat.com/cygwin/
is a reliable high bandwidth connection.

In the UK,
http://programming.ccp14.ac.uk/ftp-mirror/programming/cygwin/pub/cygwin/
is usually up-to-date within 48 hours.

If one of the above doesn't have the latest version of this package
then you can either wait for the site to be updated or find another
mirror.

If you have questions or comments, please send them to the Cygwin
mailing list at: cygwin@cygwin.com .  I would appreciate if you would
use this mailing list rather than emailing me directly.  This includes
ideas and comments about the setup utility or Cygwin in general.

If you want to make a point or ask a question, the Cygwin mailing list
is the appropriate place.

              *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there.  It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com@cygwin.com

NOTES:

o Now uses the auto-import functionality of newer binutils, and doesn't use __declspec(dllimport).  This means you no longer need -DNCURSES_STATIC when compiling objects intended for static linking.  Just compile as normal.  HOWEVER, you need to use special flags when linking: 'gcc -static' (for static linking), 'gcc -Wl,--enable-auto-import' (for dynamic linking).  Eventually auto-import will be the default, but not yet.

  -- PRO: no compile time flags needed when building 
          client programs; ONLY need linktime flags for
          linking to either static or dynamic links.
  -- CON: now need a special linktime flag for dynamic
          linking (-Wl,--enable-auto-import).  This
          was not previously necessary.  This requirement
          may eventually go away.
  -- PRO: Our fork diff from the original source is now
          only 55k, instead of 450k.  Many of our 
          changes may now be accepted by the official GNU
          sources; previously that was not in the cards.
  -- CON: The new DLLs are not drop-in compatible with
          apps built for the old DLLs.  Therefore, we need
          a compatibility package containing the old DLLs.

o See the thread entitled "[RFD] ncurses update" on cygwin-apps:
     http://www.cygwin.com/ml/cygwin-apps/2001-09/msg00071.html
  for more information about the internal changes to the ncurses package.

o The terminfo database has been forked (away from our fork of the ncurses package!!!) to enable faster and easier updates, and to cut down on bandwidth.

o Building the package from source requires gcc-2.95.3-5 and binutils-20010914-1 or later

o cygwin-1.3.1-1 or later is required for proper scanw() operation and for the new cygwin terminfo entry to work properly.

o A cygwin-specific README and two PATCHES are stored in the source archive, under <top>/CYGWIN-PATCHES/* (although the first patch, ncurses-5.2-X.patch, has already been applied to the archive itself). The cygwin-specific README is also installed by the binary distribution as described above.

o If you are building a package that depends on the ncurses library, and you wish to link *statically*, use 'gcc -static' to link.  To link dynamically, you must use 'gcc -Wl,--enable-auto-import' when linking.

o No special -Ddefine options or link options are needed when building a package that depends any of the ncurses libraries, whether linking statically or dynamically.

--Chuck Wilson

------------------------------------------
***********  TERMINFO ENTRIES  ***********
------------------------------------------

CYGWIN:

o See cygwin's ncurses-5.2-4 release announcement:
    http://www.cygwin.com/ml/cygwin-announce/2001/msg00014.html

BASH in a DOS box:

You must set TERM=cygwin.  If you want ACS (box) characters to work, add 'codepage:oem' to your CYGWIN variable.

RXVT-CYGWIN and RXVT-CYGWIN-NATIVE

o see cygwin's ncurses-5.2-5 release announcement:
    http://www.cygwin.com/ml/cygwin-announce/2001/msg00047.html

CONNECTING TO REMOTE SYSTEMS:

o see cygwin's ncurses-5.2-5 release announcement:
    http://www.cygwin.com/ml/cygwin-announce/2001/msg00047.html

------------------------------------------
*********  TEST RESULTS, DLL's  **********
------------------------------------------

see ncurses-5.2-3 announcement: 
  http://www.cygwin.com/ml/cygwin-announce/2000/msg00101.html

--Chuck

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]