pkgsrc-Bugs archive

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

Re: pkg/50175: devel/editline fails to compile on Solaris after ncurses was upgraded



The following reply was made to PR pkg/50175; it has been noted by GNATS.

From: Richard PALO <richard%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost, pkg-manager%netbsd.org@localhost, 
 gnats-admin%netbsd.org@localhost, pkgsrc-bugs%netbsd.org@localhost
Cc: 
Subject: Re: pkg/50175: devel/editline fails to compile on Solaris after ncurses
 was upgraded
Date: Wed, 26 Aug 2015 16:55:16 +0200

 Le 26/08/15 11:30, joern.clausen%uni-bielefeld.de@localhost a écrit :
 >> Number:         50175
 >> Category:       pkg
 >> Synopsis:       devel/editline fails to compile on Solaris after ncurses was upgraded
 >> Confidential:   no
 >> Severity:       serious
 >> Priority:       medium
 >> Responsible:    pkg-manager
 >> State:          open
 >> Class:          sw-bug
 >> Submitter-Id:   net
 >> Arrival-Date:   Wed Aug 26 09:30:00 +0000 2015
 >> Originator:     Joern Clausen
 >> Release:        
 >> Organization:
 > University of Bielefeld
 >> Environment:
 > Solaris 11.2/i86, GCC 4.8.5
 >> Description:
 > devel/editline fails to compile on Solaris 11.2, after devel/ncurses was upgraded to 6.0:
 > 
 > --- terminal.lo ---
 > In file included from terminal.c:56:0:
 > /opt/pkgsrc/pkg-hrz/pkgsrc/devel/editline/work.pkgsrc-sol11i86/.buildlink/include/ncurses/termcap.h:63:31: error: conflicting types for 'tgetstr'
 >  extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
 >                                ^
 > In file included from ../config.h:297:0,
 >                  from terminal.c:35:
 > ./sys.h:139:14: note: previous declaration of 'tgetstr' was here
 >  extern char* tgetstr(char*, char**);
 >               ^
 > In file included from terminal.c:56:0:
 > /opt/pkgsrc/pkg-hrz/pkgsrc/devel/editline/work.pkgsrc-sol11i86/.buildlink/include/ncurses/termcap.h:66:28: error: conflicting types for 'tgetflag'
 >  extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
 >                             ^
 > In file included from ../config.h:297:0,
 >                  from terminal.c:35:
 > ./sys.h:135:12: note: previous declaration of 'tgetflag' was here
 >  extern int tgetflag(char *);
 >             ^
 > 
 > 
 > Every use of tgetstr in editline's source is preceeded by
 > 
 > /* XXX: some systems' tgetstr needs non const */
 > 
 > which is great to know but doesn't really help.
 > 
 > curses.h of ncurses-6.0 defines
 > 
 > /*
 >  * Expands to 'const' if ncurses is configured using --enable-const.  Note that
 >  * doing so makes it incompatible with other implementations of X/Open Curses.
 >  */
 > #undef  NCURSES_CONST
 > #define NCURSES_CONST const
 > 
 > although I don't see this configure option used during build.
 > 
 > 
 >> How-To-Repeat:
 > 
 >> Fix:
 > --- Makefile.common.bak Tue Aug 25 08:32:58 2015
 > +++ Makefile.common     Wed Aug 26 11:05:05 2015
 > @@ -18,6 +18,7 @@
 >  USE_LIBTOOL=           yes
 >  USE_TOOLS+=            gmake tbl
 >  GNU_CONFIGURE=         yes
 > +CONFIGURE_ARGS+=       --disable-const
 >  CONFIGURE_ARGS+=       --with-libtool
 >  CONFIGURE_ARGS+=       --enable-bsdpad
 >  CONFIGURE_ARGS+=       --enable-overwrite
 > 
 > in devel/ncurses(!!) seems to fix the problem
 > 
 > 
 
 I have the same on illumos (SunOS 5.11).
 
 Looks like the following should be alright:
 > diff --git a/devel/ncurses/Makefile.common b/devel/ncurses/Makefile.common
 > index 4cf293d..6fddd00 100644
 > --- a/devel/ncurses/Makefile.common
 > +++ b/devel/ncurses/Makefile.common
 > @@ -64,6 +64,7 @@ CONFIGURE_ARGS+=      --without-manpage-tbl
 >  .include "../../mk/compiler.mk"
 >  
 >  .if ${OPSYS} == "SunOS"
 > +CONFIGURE_ARGS+=       --disable-const
 >  TERMINFO_SRC=  ${WRKSRC}/misc/terminfo.src
 >  TERMINFODIR=   share/lib/terminfo
 >  .else
 
 
 -- 
 Richard PALO
 


Home | Main Index | Thread Index | Old Index