If I emerge kdemultimedia-3.3.2 (well, revdep-rebuild did it), it dies during the compilation step and complains about errors in /usr/include/linux/byteorder/big_endian.h I have it already installes, i.e. it worked with an earlier version of linux-headers. Reproducible: Always Steps to Reproduce: 1. emerge --oneshot --nodeps =kde-base/kdemultimedia-3.3.2 2. 3. Actual Results: lots of messages... make[4]: Entering directory `/var/tmp/portage/kdemultimedia-3.3.2/work/kdemultimedia-3.3.2/mpeglib/lib/input' creating libinput_la.all_cpp.cpp ... /bin/sh ../../../libtool --silent --mode=compile --tag=CXX hppa1.1-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I/usr/kde/3.3/include -I/usr/qt/3/include -I. -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -ffunction-sections -march=1.1 -mschedule=7100 -fomit-frame-pointer -O1 -pipe -ffunction-sections -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fpermissive -c -o libinput_la.all_cpp.lo libinput_la.all_cpp.cpp In file included from /usr/include/asm/byteorder.h:80, from /usr/include/linux/cdrom.h:14, from cdromAccess_Linux.cpp:17, from cdromAccess.cpp:38, from libinput_la.all_cpp.cpp:10: /usr/include/linux/byteorder/big_endian.h: In function `__le64 __cpu_to_le64p(const __u64*)': /usr/include/linux/byteorder/big_endian.h:45: error: `__swab64p' undeclared (first use this function) /usr/include/linux/byteorder/big_endian.h:45: error: (Each undeclared identifier is reported only once for each function it appears in.) /usr/include/linux/byteorder/big_endian.h: In function `__u64 __le64_to_cpup(const __le64*)': /usr/include/linux/byteorder/big_endian.h:49: error: `__swab64p' undeclared (first use this function) make[4]: *** [libinput_la.all_cpp.lo] Error 1 further failure notifications... Expected Results: compile and install kdemultimedia-3.3.2 hp ~ # emerge info Portage 2.0.51.19 (default-linux/hppa/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.12.2-pa2 parisc) ================================================================= System uname: 2.6.12.2-pa2 parisc PA7100 (PCX-T) Gentoo Base System version 1.6.12 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 2 2005, 14:44:44)] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="hppa" AUTOCLEAN="yes" CFLAGS="-march=1.1 -mschedule=7100 -fomit-frame-pointer -O2 -pipe" CHOST="hppa1.1-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=1.1 -mschedule=7100 -fomit-frame-pointer -O1 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="hppa X berkdb bitmap-fonts crypt cups fam foomaticdb fortran gdbm gif gpm imlib ipv6 jpeg kde kdeenablefinal libwww motif ncurses nls pam perl pic png python qt readline samba slang spell ssl tcpd tiff truetype-fonts type1-fonts xml2 xscreensaver zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY sys-libs/glibc-2.3.4.20040808-r1 has been recompiled after the installation of the new linux-headers sys-kernel/linux-headers-2.6.11-r2
thought we fixed this, guess not ...
Yeah, this looks familiar... please confirm removing " && !defined(__STRICT_ANSI__)" in /usr/include/asm/types.h fixes this. Thanks!
Sorry, that piece of conde does not appear in /usr/include/asm/types.h. Here is the whole file: #ifndef _PARISC_TYPES_H #define _PARISC_TYPES_H #ifndef __ASSEMBLY__ typedef unsigned short umode_t; /* * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the * header files exported to user space */ typedef __signed__ char __s8; typedef unsigned char __u8; typedef __signed__ short __s16; typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; #if defined(__GNUC__) typedef __signed__ long long __s64; typedef unsigned long long __u64; #endif #endif /* __ASSEMBLY__ */ /* * These aren't exported outside the kernel to avoid name space clashes */ #ifdef __KERNEL__ #ifdef __LP64__ #define BITS_PER_LONG 64 #else #define BITS_PER_LONG 32 #endif #ifndef __ASSEMBLY__ typedef signed char s8; typedef unsigned char u8; typedef signed short s16; typedef unsigned short u16; typedef signed int s32; typedef unsigned int u32; typedef signed long long s64; typedef unsigned long long u64; /* Dma addresses are 32-bits wide. */ typedef u32 dma_addr_t; typedef u64 dma64_addr_t; typedef unsigned int kmem_bufctl_t; #endif /* __ASSEMBLY__ */ #endif /* __KERNEL__ */ #endif
tim: in this case the fix i think is to do what we already do with little_endian.h ... that is, add some #ifndef __STRICT_ANSI__ wrapping around the funcs in big_endian.h
Fixed - please emerge sync and remerge linux-headers (should get patches version 4). If you still experience problems then please reopen the bug.