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

Bug #1261872 reported by Steve Langasek
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
Undecided
Adam Conrad
kbd (Ubuntu)
Undecided
Unassigned
libsdl1.2 (Ubuntu)
Undecided
Unassigned
linux (Ubuntu)
Medium
Unassigned

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.

Steve Langasek (vorlon)
Changed in eglibc (Ubuntu):
assignee: nobody → Adam Conrad (adconrad)
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1261872

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: trusty
tags: added: bot-stop-nagging
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

(adding libsdl1.2 task and ftbfs tag for better qa.ubuntuwire tracking)

tags: added: ftbfs
Revision history for this message
Adam Conrad (adconrad) wrote :

This was worked around in eglibc with some ifdef magic, but we still need to sync the headers upstream in one way or another.

Andy Whitcroft (apw)
Changed in linux (Ubuntu):
assignee: Andy Whitcroft (apw) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers