pkgsrc-Bugs archive

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

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



>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



Home | Main Index | Thread Index | Old Index