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

Bug#317861: conflicting definitions of P_ALL, P_PID, and P_PGID



On Fri, Jul 15, 2005 at 09:31:23AM -0400, Daniel Jacobowitz wrote:
> On Thu, Jul 14, 2005 at 09:31:24PM -0700, Matt Kraai wrote:
> > On Thu, Jul 14, 2005 at 02:42:23PM -0400, Daniel Jacobowitz wrote:
> > > On Mon, Jul 11, 2005 at 09:47:11AM -0700, Matt Kraai wrote:
> > > > Package: libc6-dev
> > > > Version: 2.3.2.ds1-22
> > > > Severity: serious
> > > > 
> > > > kbd-chooser fails to build because the definitions of P_ALL, P_PID,
> > > > and P_PGID in /usr/include/sys/wait.h conflict with those in
> > > > /usr/include/linux/wait.h:
> > > > 
> > > > > cc -c -Wall  -I. -DNDEBUG=1 -fomit-frame-pointer -Os -DAT_KBD  -DUSB_KBD   loadkeys.c
> > > > > In file included from /usr/include/debian-installer/exec.h:29,
> > > > >                  from /usr/include/debian-installer.h:5,
> > > > >                  from loadkeys.y:24:
> > > > > /usr/include/sys/wait.h:100: error: syntax error before numeric constant
> > > > > loadkeys.y: In function 'addfunc':
> > > > > loadkeys.y:595: warning: comparison is always false due to limited range of data type
> > > > > make[1]: *** [loadkeys.o] Error 1
> > > > > make[1]: Leaving directory `/tmp/buildd/kbd-chooser-1.15'
> > > > > make: *** [build-stamp] Error 2
> > > 
> > > Where is <linux/wait.h> being included from?  Is it necessary?
> > 
> > loadkeys.y includes <linux/keyboard.h>, which includes
> > <linux/wait.h>.  loadkeys.y does use some of the macros defined in
> > <linux/keyboard.h>, so it seems like it should include it.
> > <linux/keyboard.h> does not appear to use anything from
> > <linux/wait.h>, though, so I'm not sure why it includes it.
> 
> <linux/keyboard.h> is definitely one of the headers I would recommend
> not including.  The network headers are generally safe, but that's
> about it.

loadkeys.y should inline the macro definitions that it needs from
<linux/keyboard.h> instead of removing the include from
<linux/keyboard.h>?  loadkeys.y appears to use the following macros:

 MAX_NR_KEYMAPS
 MAX_NR_FUNC
 MAX_DIACR
 KTYP
 KT_FN
 KVAL
 KG_SHIFT
 KG_CTRL
 KG_ALT
 KG_ALTGR
 KG_SHIFTL
 KG_SHIFTR
 KG_CTRLL
 KG_CTRLR
 K_HOLE

-- 
Matt

Attachment: signature.asc
Description: Digital signature


Reply to: