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