pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/39582: devel/ncurses breaks /usr/include/curses.h on NetBSD
On Sep 18, 9:20pm, campbell%mumble.net@localhost (Taylor R Campbell) wrote:
-- Subject: pkg/39582: devel/ncurses breaks /usr/include/curses.h on NetBSD
| >Number: 39582
| >Category: pkg
| >Synopsis: devel/ncurses breaks /usr/include/curses.h on NetBSD
| >Confidential: no
| >Severity: serious
| >Priority: medium
| >Responsible: pkg-manager
| >State: open
| >Class: sw-bug
| >Submitter-Id: net
| >Arrival-Date: Thu Sep 18 21:20:00 +0000 2008
| >Originator: Taylor R Campbell <campbell%mumble.net@localhost>
| >Release: NetBSD 4.0_STABLE
| >Organization:
| >Environment:
| System: NetBSD smalltalk.localdomain 4.0_STABLE NetBSD 4.0_STABLE
(RIAX3DOM0_GATEWAY) #1: Wed Sep 10 22:47:22 UTC 2008
riastradh%smalltalk.localdomain@localhost:/home/riastradh/netbsd/4/obj/sys/arch/i386/compile/RIAX3DOM0_GATEWAY
i386
| Architecture: i386
| Machine: i386
| >Description:
|
| devel/ncurses installs several files in /usr/pkg/include, one
| of which is named unctrl.h. This file itself includes
| <ncurses.h>. /usr/include/curses.h from the NetBSD base system
| contains the line
|
| #include <unctrl.h>
|
| which, when /usr/pkg/include is in the system header path,
| causes inclusion of /usr/pkg/include/unctrl.h, rather than of
| the intended /usr/include/unctrl.h. This transitively includes
| /usr/pkg/include/ncurses.h, which does not lead a happy
| coexistence with /usr/include/curses.h.
|
| >How-To-Repeat:
|
| Install devel/ncurses. Compile, or preprocess, the following
| trivial program with -I/usr/pkg/include:
|
| #include <curses.h>
|
| int
| main (int argc, char *argv[])
| {
| return (0);
| }
|
| >Fix:
|
| Two choices immediately spring to mind:
|
| 1. Install a symbolic link /usr/pkg/include/curses.h pointing
| to ncurses.h. (This is the reverse of what one often finds
| in Linux systems.) This is a matter of adding an extra line
| to the `post-install' target.
|
| 2. Install ncurses in a subdirectory of /usr/pkg/include, such
| as /usr/pkg/include/ncurses. This is what devel/ncursesw
| already does. This requires configuring ncurses differently
| and changing ncurses/buildlink3.mk to add the subdirectory
| to the system header path.
|
| There is already a hack in ncurses/buildlink3.mk to install a
| temporary symbolic link so that source files in the dependent
| packages can include <curses.h> and see ncurses. This doesn't
| help when building software outside of pkgsrc, however.
There is also the #include_next option and the -idirafter -include option
but both are gcc specific. But [2] is probably the right one.
christos
Home |
Main Index |
Thread Index |
Old Index