Bug#541463: linux-libc-dev and LTP compile failures on ppc
Package: linux-libc-dev
Version: 2.6.26-17lenny1
When configuring upstream LTP (http://ltp.sourceforge.net/) on ppc, I get:
| checking linux/cgroupstats.h usability... no
| checking linux/cgroupstats.h presence... yes
| configure: WARNING: linux/cgroupstats.h: present but cannot be compiled
| configure: WARNING: linux/cgroupstats.h: check for missing prerequisite headers?
| configure: WARNING: linux/cgroupstats.h: see the Autoconf documentation
| configure: WARNING: linux/cgroupstats.h: section "Present But Cannot Be Compiled"
| configure: WARNING: linux/cgroupstats.h: proceeding with the preprocessor's result
| configure: WARNING: linux/cgroupstats.h: in the future, the compiler will take precedence
| configure: WARNING: ## ------------------------------------------------ ##
| configure: WARNING: ## Report this to ltp-results@lists.sourceforge.net ##
| configure: WARNING: ## ------------------------------------------------ ##
| checking for linux/cgroupstats.h... yes
This seems to be caused by <linux/cgroupstats.h> not being self-contained
(it needs but doesn't include <linux/types.h>):
| In file included from /usr/include/linux/cgroupstats.h:18,
| from /tmp/a.c:1:
| /usr/include/linux/taskstats.h:44: error: expected specifier-qualifier-list before ʽ__u16ʼ
| In file included from /tmp/a.c:1:
| /usr/include/linux/cgroupstats.h:31: error: expected specifier-qualifier-list before ʽ__u64ʼ
| # dpkg -S cgroupstats.h
| linux-libc-dev: /usr/include/linux/cgroupstats.h
| # apt-cache policy linux-libc-dev
| linux-libc-dev:
| Installed: 2.6.26-17lenny1
| Candidate: 2.6.26-17lenny1
| Version table:
| 2.6.30-5 0
| 500 http://ftp.de.debian.org sid/main Packages
| *** 2.6.26-17lenny1 0
| 990 http://security.debian.org lenny/updates/main Packages
| 100 /var/lib/dpkg/status
| 2.6.26-17 0
| 990 http://http.us.debian.org lenny/main Packages
| 500 http://ftp.de.debian.org squeeze/main Packages
| #
LTP does compile fine, though.
After upgrading linux-libc-dev to version 2.6.30-5 from sid, configure works
fine again. However, the build of LTP fails with:
| gcc -g -O2 -I../../include -g -Wall -I../../../../include -Wall signalfd01.c -L../../../../lib -lltp -o signalfd01
| In file included from /usr/include/asm/fcntl.h:9,
| from /usr/include/linux/fcntl.h:4,
| from /usr/include/linux/signalfd.h:13,
| from signalfd01.c:62:
| /usr/include/asm-generic/fcntl.h:117: error: redefinition of ʽstruct flockʼ
| /usr/include/asm-generic/fcntl.h:140: error: redefinition of ʽstruct flock64ʼ
| make[4]: *** [signalfd01] Error 1
| make[4]: Leaving directory `/root/ltp-full-20090731/testcases/kernel/syscalls/signalfd'
The original definitions of `struct flock' and `struct flock64' are in
/usr/include/bits/fcntl.h.
Presumably /usr/include/bits/fcntl.h should use the definition pulled in from
/usr/include/asm/fcntl.h, instead of defining its own?
With kind regards,
Geert Uytterhoeven
Software Architect
Techsoft Centre
Technology and Software Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/
A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010
Reply to: