bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-ncurses] C++ does not build with ncurses-5.9-20130316


From: Dr. Werner Fink
Subject: Re: [bug-ncurses] C++ does not build with ncurses-5.9-20130316
Date: Tue, 26 Mar 2013 13:03:55 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Mar 26, 2013 at 06:45:55AM -0400, Thomas Dickey wrote:
> On Tue, Mar 26, 2013 at 09:07:15AM +0100, Dr. Werner Fink wrote:
> > On Mon, Mar 25, 2013 at 07:30:54PM -0400, Thomas Dickey wrote:
> > > On Mon, Mar 25, 2013 at 06:24:35PM +0100, Dr. Werner Fink wrote:
> > > > On Mon, Mar 25, 2013 at 05:24:30PM +0100, Werner Fink wrote:
> > > > > On Mon, Mar 25, 2013 at 05:10:22PM +0100, Werner Fink wrote:
> > > > > > On Fri, Mar 22, 2013 at 06:02:20PM -0400, Thomas Dickey wrote:
> > > > > > > On Fri, Mar 22, 2013 at 01:03:10PM +0100, Dr. Werner Fink wrote:
> > > > > > > > Hi,
> > > > > > > > 
> > > > > > > > just found this
> > > > > > > 
> > > > > > > hmm - a pointer to the configure-options would help...
> > > > > 
> > > > > Just found that it happens after the second configure run.
> > > > > The first make run works flawless but the second one seems to see 
> > > > > leftovers of the previous configure/make run.
> > > > > 
> > > > 
> > > > Seems to be a difference between ABI 5 and ABI 6 with REENTRANT code:
> > > 
> > > yes -- the "--enable-reeentrant" option wraps the global variables as
> > > functions to keep them from being modified except via a function (which
> > > lets one add a mutex or whatever).
> > > 
> > > ABI 6 doesn't have to use that option, but the reentrant feature relies
> > > on ABI 6.  Normally the libraries are named differently (with a "t" on
> > > the end).  Naming them the same - that is a problem for this case.
> > 
> > Hmm ... I've only four library types here
> > 
> >   libncurses.so.5.9/libtinfo.so.5.9
> >   libncursesw.so.5.9/libtinfow.so.5.9
> >   libncurses.so.6.0/libtinfo.so.6.0
> >   libncursesw.so.6.0/libtinfow.so.6.0
> > 
> > and the libs for ABI 6 are be default reeentrant.  Otherwise much more
> > libraries would be required.  In my experience the four types are more
> > than enough for customers.  Therefore I'd like see not to use more than
> > required.  This is the reason to make ABI 6 by default reeentrant here
> > as the most programs which rely on thread safe and wide character support.
> 
> But applications that are compiled for ABI 5 don't have any need to
> have the same _binary_ interface for ABI 6.  Your report seems to
> imply there is some case where that is needed.  (COLS, etc., are
> always defined in curses.h and/or term.h as needed for the given ABI).

The problem is that c++/demo.cc does not compile after a reconfigure
due old objects files which are not rebuild even if the includes had
changed meanwhile.  I've added now a line

  make clean

after installing the configured version into the destination root and
before any reconfigure and this solved the problem.  Also a

  make -C c++

before the final

  make -j8

was required as otherwise the build sometimes failed (seems like a
dependency is missed which can cause a missing etip.h).

With this there are two final packages named

  libncurses5.rpm
  libncurses6.rpm

with a packages ncurses-devel with provides

  ncurses5-config
  ncursesw5-config
  ncurses6-config
  ncursesw6-config

Werner

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr



reply via email to

[Prev in Thread] Current Thread [Next in Thread]