← Back to team overview

kernel-packages team mailing list archive

[Bug 1261872] [NEW] P_ALL behavior inconsistent in eglibc vs. kernel headers (enum vs. #define)

 

Public bug reported:

libsdl1.2 fails to build in trusty-proposed due to eglibc 2.18, which
rearranges headers and exposes an incompatibility between eglibc and
kernel handling of P_ALL, P_PID, P_GID.

libtool: compile:  gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Iinclude -I../../include -D_GNU_SOURCE=1 -fvisibility=hidden -maltivec -D_REENTRANT -DXTHREADS -I/usr/include/ -D_REENTRANT -DHAVE_LINUX_VERSION_H -Wall -c ../../src/video/fbcon/SDL_fbevents.c  -fPIC -DPIC -o build/.libs/SDL_fbevents.o
In file included from /usr/include/linux/keyboard.h:4:0,
                 from ../../src/video/fbcon/SDL_fbevents.c:41:
/usr/include/powerpc64le-linux-gnu/bits/waitflags.h:45:3: error: expected identifier before numeric constant
   P_ALL,  /* Wait for any child.  */
   ^
make[2]: *** [build/SDL_fbevents.lo] Error 1

(https://launchpadlibrarian.net/160042091/buildlog_ubuntu-trusty-
ppc64el.libsdl1.2_1.2.15-5ubuntu3_FAILEDTOBUILD.txt.gz)

/usr/include/linux/wait.h has P_ALL as a #define; bits/waitflags.h has
it as an enum.  This means one gets compile failures based on the order
of header includes.

The linux header should probably be mixed to match the libc API.

** Affects: eglibc (Ubuntu)
     Importance: Undecided
     Assignee: Adam Conrad (adconrad)
         Status: New

** Affects: linux (Ubuntu)
     Importance: Undecided
     Assignee: Andy Whitcroft (apw)
         Status: New

** Changed in: eglibc (Ubuntu)
     Assignee: (unassigned) => Adam Conrad (adconrad)

** Also affects: linux (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: linux (Ubuntu)
     Assignee: (unassigned) => Andy Whitcroft (apw)

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1261872

Title:
  P_ALL behavior inconsistent in eglibc vs. kernel headers (enum vs.
  #define)

Status in “eglibc” package in Ubuntu:
  New
Status in “linux” package in Ubuntu:
  New

Bug description:
  libsdl1.2 fails to build in trusty-proposed due to eglibc 2.18, which
  rearranges headers and exposes an incompatibility between eglibc and
  kernel handling of P_ALL, P_PID, P_GID.

  libtool: compile:  gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Iinclude -I../../include -D_GNU_SOURCE=1 -fvisibility=hidden -maltivec -D_REENTRANT -DXTHREADS -I/usr/include/ -D_REENTRANT -DHAVE_LINUX_VERSION_H -Wall -c ../../src/video/fbcon/SDL_fbevents.c  -fPIC -DPIC -o build/.libs/SDL_fbevents.o
  In file included from /usr/include/linux/keyboard.h:4:0,
                   from ../../src/video/fbcon/SDL_fbevents.c:41:
  /usr/include/powerpc64le-linux-gnu/bits/waitflags.h:45:3: error: expected identifier before numeric constant
     P_ALL,  /* Wait for any child.  */
     ^
  make[2]: *** [build/SDL_fbevents.lo] Error 1

  (https://launchpadlibrarian.net/160042091/buildlog_ubuntu-trusty-
  ppc64el.libsdl1.2_1.2.15-5ubuntu3_FAILEDTOBUILD.txt.gz)

  /usr/include/linux/wait.h has P_ALL as a #define; bits/waitflags.h has
  it as an enum.  This means one gets compile failures based on the
  order of header includes.

  The linux header should probably be mixed to match the libc API.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1261872/+subscriptions


Follow ups

References