>>> emerge (1 of 3) dev-util/valgrind-2.0.0 to / >>> md5 src_uri ;-) valgrind-2.0.0.tar.bz2 >>> Unpacking source... >>> Unpacking valgrind-2.0.0.tar.bz2 to /var/tmp/portage/valgrind-2.0.0/work >>> Source unpacked. configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-strip... no checking for strip... strip checking whether to enable maintainer-specific portions of Makefiles... no checking whether ln -s works... yes checking for i686-pc-linux-gnu-gcc... gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for i686-pc-linux-gnu-g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for perl... /usr/bin/perl checking for gdb... /usr/bin/gdb checking for a supported version of gcc... ok (gcc (GCC) 3.3.2 20040108 (Gentoo Linux 3.3.2-r6, propolice-3.3-7)) checking build system type... i686-pc-linux checking host system type... i686-pc-linux-gnu checking for a supported CPU... ok (i686) checking for a supported OS... ok (linux-gnu) checking for the kernel version... 2.6 family (2.6.1-gentoo-r1) checking for egrep... grep -E checking the glibc version... 2.3 family checking whether sched_param has a sched_priority member... yes checking whether nfds_t is defined... yes checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include checking XFree version... Xlib: connection to ":0.0" refused by server Xlib: No protocol specified not a XFree86 server unknown XFree86 server () checking if gas accepts .cfi... yes checking if this is an NPTL-based system... no checking if gcc accepts -mpreferred-stack-boundary... -mpreferred-stack-boundary=2 checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/statfs.h usability... yes checking sys/statfs.h presence... yes checking for sys/statfs.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking for unistd.h... (cached) yes checking utime.h usability... yes checking utime.h presence... yes checking for utime.h... yes checking for uid_t in sys/types.h... yes checking for off_t... yes checking for size_t... yes checking whether time.h and sys/time.h may both be included... yes checking for working memcmp... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking return type of signal handlers... void checking for floor... no checking for memchr... yes checking for memset... yes checking for mkdir... yes checking for strchr... yes checking for strdup... yes checking for strpbrk... yes checking for strrchr... yes checking for strstr... yes configure: creating ./config.status config.status: creating Makefile config.status: creating valgrind.spec config.status: creating docs/Makefile config.status: creating tests/Makefile config.status: creating tests/vg_regtest config.status: creating tests/unused/Makefile config.status: creating include/Makefile config.status: creating auxprogs/Makefile config.status: creating coregrind/Makefile config.status: creating coregrind/demangle/Makefile config.status: creating coregrind/docs/Makefile config.status: creating coregrind/valgrind config.status: creating addrcheck/Makefile config.status: creating addrcheck/tests/Makefile config.status: creating addrcheck/docs/Makefile config.status: creating memcheck/Makefile config.status: creating memcheck/tests/Makefile config.status: creating memcheck/docs/Makefile config.status: creating cachegrind/Makefile config.status: creating cachegrind/tests/Makefile config.status: creating cachegrind/docs/Makefile config.status: creating cachegrind/cg_annotate config.status: creating corecheck/Makefile config.status: creating corecheck/tests/Makefile config.status: creating corecheck/docs/Makefile config.status: creating helgrind/Makefile config.status: creating helgrind/tests/Makefile config.status: creating helgrind/docs/Makefile config.status: creating lackey/Makefile config.status: creating lackey/tests/Makefile config.status: creating lackey/docs/Makefile config.status: creating none/Makefile config.status: creating none/tests/Makefile config.status: creating none/docs/Makefile config.status: creating config.h config.status: executing depfiles commands Using the following suppressions by default: glibc-2.3.supp xfree-3.supp xfree-4.supp make all-recursive make[1]: Entering directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0' Making all in coregrind make[2]: Entering directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind' Making all in demangle make[3]: Entering directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind/demangle' if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../coregrind -I../../include -Winline -Wall -Wshadow -O -fomit-frame-pointer -g -mpreferred-stack-boundary=2 -Wno-unused -Wno-shadow -MT cp-demangle.o -MD -MP -MF ".deps/cp-demangle.Tpo" \ -c -o cp-demangle.o `test -f 'cp-demangle.c' || echo './'`cp-demangle.c; \ then mv -f ".deps/cp-demangle.Tpo" ".deps/cp-demangle.Po"; \ else rm -f ".deps/cp-demangle.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../coregrind -I../../include -Winline -Wall -Wshadow -O -fomit-frame-pointer -g -mpreferred-stack-boundary=2 -Wno-unused -MT cplus-dem.o -MD -MP -MF ".deps/cplus-dem.Tpo" \ -c -o cplus-dem.o `test -f 'cplus-dem.c' || echo './'`cplus-dem.c; \ then mv -f ".deps/cplus-dem.Tpo" ".deps/cplus-dem.Po"; \ else rm -f ".deps/cplus-dem.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../coregrind -I../../include -Winline -Wall -Wshadow -O -fomit-frame-pointer -g -mpreferred-stack-boundary=2 -MT dyn-string.o -MD -MP -MF ".deps/dyn-string.Tpo" \ -c -o dyn-string.o `test -f 'dyn-string.c' || echo './'`dyn-string.c; \ then mv -f ".deps/dyn-string.Tpo" ".deps/dyn-string.Po"; \ else rm -f ".deps/dyn-string.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../coregrind -I../../include -Winline -Wall -Wshadow -O -fomit-frame-pointer -g -mpreferred-stack-boundary=2 -MT safe-ctype.o -MD -MP -MF ".deps/safe-ctype.Tpo" \ -c -o safe-ctype.o `test -f 'safe-ctype.c' || echo './'`safe-ctype.c; \ then mv -f ".deps/safe-ctype.Tpo" ".deps/safe-ctype.Po"; \ else rm -f ".deps/safe-ctype.Tpo"; exit 1; \ fi rm -f libdemangle.a ar cru libdemangle.a cp-demangle.o cplus-dem.o dyn-string.o safe-ctype.o ranlib libdemangle.a make[3]: Leaving directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind/demangle' Making all in . make[3]: Entering directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind' if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -fno-omit-frame-pointer -MT vg_replace_malloc.o -MD -MP -MF ".deps/vg_replace_malloc.Tpo" \ -c -o vg_replace_malloc.o `test -f 'vg_replace_malloc.c' || echo './'`vg_replace_malloc.c; \ then mv -f ".deps/vg_replace_malloc.Tpo" ".deps/vg_replace_malloc.Po"; \ else rm -f ".deps/vg_replace_malloc.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_scheduler.o -MD -MP -MF ".deps/vg_scheduler.Tpo" \ -c -o vg_scheduler.o `test -f 'vg_scheduler.c' || echo './'`vg_scheduler.c; \ then mv -f ".deps/vg_scheduler.Tpo" ".deps/vg_scheduler.Po"; \ else rm -f ".deps/vg_scheduler.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_default.o -MD -MP -MF ".deps/vg_default.Tpo" \ -c -o vg_default.o `test -f 'vg_default.c' || echo './'`vg_default.c; \ then mv -f ".deps/vg_default.Tpo" ".deps/vg_default.Po"; \ else rm -f ".deps/vg_default.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_demangle.o -MD -MP -MF ".deps/vg_demangle.Tpo" \ -c -o vg_demangle.o `test -f 'vg_demangle.c' || echo './'`vg_demangle.c; \ then mv -f ".deps/vg_demangle.Tpo" ".deps/vg_demangle.Po"; \ else rm -f ".deps/vg_demangle.Tpo"; exit 1; \ fi gcc -I.. -I.. -I./demangle -I../include -mpreferred-stack-boundary=2 -c `test -f 'vg_dispatch.S' || echo './'`vg_dispatch.S if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_errcontext.o -MD -MP -MF ".deps/vg_errcontext.Tpo" \ -c -o vg_errcontext.o `test -f 'vg_errcontext.c' || echo './'`vg_errcontext.c; \ then mv -f ".deps/vg_errcontext.Tpo" ".deps/vg_errcontext.Po"; \ else rm -f ".deps/vg_errcontext.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_execontext.o -MD -MP -MF ".deps/vg_execontext.Tpo" \ -c -o vg_execontext.o `test -f 'vg_execontext.c' || echo './'`vg_execontext.c; \ then mv -f ".deps/vg_execontext.Tpo" ".deps/vg_execontext.Po"; \ else rm -f ".deps/vg_execontext.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_from_ucode.o -MD -MP -MF ".deps/vg_from_ucode.Tpo" \ -c -o vg_from_ucode.o `test -f 'vg_from_ucode.c' || echo './'`vg_from_ucode.c; \ then mv -f ".deps/vg_from_ucode.Tpo" ".deps/vg_from_ucode.Po"; \ else rm -f ".deps/vg_from_ucode.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_hashtable.o -MD -MP -MF ".deps/vg_hashtable.Tpo" \ -c -o vg_hashtable.o `test -f 'vg_hashtable.c' || echo './'`vg_hashtable.c; \ then mv -f ".deps/vg_hashtable.Tpo" ".deps/vg_hashtable.Po"; \ else rm -f ".deps/vg_hashtable.Tpo"; exit 1; \ fi gcc -I.. -I.. -I./demangle -I../include -mpreferred-stack-boundary=2 -c `test -f 'vg_helpers.S' || echo './'`vg_helpers.S if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_instrument.o -MD -MP -MF ".deps/vg_instrument.Tpo" \ -c -o vg_instrument.o `test -f 'vg_instrument.c' || echo './'`vg_instrument.c; \ then mv -f ".deps/vg_instrument.Tpo" ".deps/vg_instrument.Po"; \ else rm -f ".deps/vg_instrument.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -fno-omit-frame-pointer -MT vg_intercept.o -MD -MP -MF ".deps/vg_intercept.Tpo" \ -c -o vg_intercept.o `test -f 'vg_intercept.c' || echo './'`vg_intercept.c; \ then mv -f ".deps/vg_intercept.Tpo" ".deps/vg_intercept.Po"; \ else rm -f ".deps/vg_intercept.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_main.o -MD -MP -MF ".deps/vg_main.Tpo" \ -c -o vg_main.o `test -f 'vg_main.c' || echo './'`vg_main.c; \ then mv -f ".deps/vg_main.Tpo" ".deps/vg_main.Po"; \ else rm -f ".deps/vg_main.Tpo"; exit 1; \ fi In file included from vg_intercept.c:65: /usr/include/asm/ipc.h:10: error: field `__user' has incomplete type /usr/include/asm/ipc.h:10: error: syntax error before '*' token /usr/include/asm/ipc.h:12: error: syntax error before '}' token vg_intercept.c:448: warning: declaration of `msgtyp' shadows a global declaration /usr/include/asm/ipc.h:11: warning: shadowed declaration is here vg_intercept.c: In function `vgAllRoadsLeadToRome_msgrcv': vg_intercept.c:453: error: storage size of `tmp' isn't known vg_intercept.c:453: warning: unused variable `tmp' vg_intercept.c: At top level: vg_intercept.c:487: warning: declaration of `msgtyp' shadows a global declaration /usr/include/asm/ipc.h:11: warning: shadowed declaration is here make[3]: *** [vg_intercept.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0' make: *** [all] Error 2 !!! ERROR: dev-util/valgrind-2.0.0 failed. !!! Function src_compile, Line 37, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1.emerge valgind 2.compilation crash 3.
here's my emerge info Portage 2.0.49-r21 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.1-gentoo-r1) ================================================================= System uname: 2.6.1-gentoo-r1 i686 AMD Athlon(TM) XP 2200+ Gentoo Base System version 1.4.3.12 ccache version 2.3 [enabled] ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://212.219.247.12/sites/www.ibiblio.org/gentoo/ ftp://ftp.easynet.nl/mirror/gentoo/ http://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X aalib acpi acpi4linux afs alsa antlr apache2 arts artswrappersuid avi berkdb cdr crypt cups dedicated dga directfb doc dv dvd dvdr encode ethereal evms2 ext-png ext-zlib fbcon firebird flash freetype gd gd-external gdbm gif gpm gtk gtk2 hostap-nopci imap imlib innodb java jikes joystick jpeg kde libg++ libwww mad maildir md5sum mikmod mmx mng motif mpeg mysql ncurses nls nocardbus odbc oggvorbis opengl oss pam pdflib perl php pic png postgres ppds prelude python qt quicktime readline sasl sdl slang speedo spell sse ssl stencil-buffer svga tcltk tcpd tetex tiff truetype type1 usb vim-with-x wmf x86 xfs xml2 xmms xv xvid zlib linguas_es linguas_es_ES"
I am having the same error, valgrind 2.1.0 compiles fine but that won't work for calltree which is needed for kdesdk-3.2.0 and kdeveloper-3.0.0. I am using gcc (GCC) 3.3.2 20040108 (Gentoo Linux 3.3.2-r6, propolice-3.3-7) CFLAGS/CXXFLAGS="-march=pentium3 -O3 -fomit-frame-pointer -pipe -mmmx -msse -mfpmath=sse,387 -ffast-math" ACCEPT_KEYWORDS="~x86 x86" I have tried setting CFLAGS to nothing and it doesn't change anything.
Sorry, in case it helps this is my portage system details: Portage 2.0.50 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.2-gentoo) ================================================================= System uname: 2.6.2-gentoo i686 Pentium III (Katmai) Gentoo Base System version 1.4.3.12 distcc 2.12.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -O3 -fomit-frame-pointer -pipe -mmmx -msse -mfpmath=sse,387 -ffast-math" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium3 -O3 -fomit-frame-pointer -pipe -mmmx -msse -mfpmath=sse,387 -ffast-math" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X alsa apache2 apm arts avi berkdb cdr crypt cups dga doc dvd encode esd foomaticdb gd gdbm gif gnome gpm gtk gtk2 guile icc imap imlib java jpeg kde libg++ libwww mad maildir mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png postgres python qt quicktime readline sdl slang spell ssl svga tcltk tcpd tetex truetype x86 xml xml2 xmms xv zlib"
I sure it is terrible form, but I provided my own ipc.h changing struct ipc_kludge { struct msgbuf __user *msgp; long msgtyp; }; to struct ipc_kludge { struct msgbuf *msgp; long msgtyp; }; I stopped the ebuild before it started compiling (cntr-z), changed the includes in vg_intercept.c and vg_unsafe.c to include my ipc.h instead of asm/ipc.h and let the ebuild continue. Seams to have worked... at least as a short term solution.
I am sorry for yet another post, but this was starting to bother me so I started to search around. It appears that what some people suggested was to put a block that defines __user as nothing if it isn't already defined in the ipc.h file. I see other files in the linux includes that do this already if they use the __user notation (linux/sysctl.h for example). #ifndef __user #define __user #endif I don't see how this really hurts anything, because if it were actually defined to something useful it'd be used. I promiss I won't bug you guys anymore.
i thought i commented on this ... can anyone test to see if you change 'asm/ipc.h' to 'sys/ipc.h' does it work ? as for the __user, that is fixed by adding '#include <linux/compiler.h>' to the 2.6.0 header file asm/ipc.h ... but i would prefer if we didnt have to do that and instead we can tell valgrind to include sys/ipc.h
changing 'asm/ipc.h' to 'sys/ipc.h', from what file?
not work
plasmaroo: any chance we can get the compiler.h include added to asm/ipc.h ?
Fixed in linux-headers-2.6.4. Thanks!
I have kernel 2.6.4 and it not compile, give me the same error Making all in . make[3]: Entering directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind' if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -fno-omit-frame-pointer -MT vg_replace_malloc.o -MD -MP -MF ".deps/vg_replace_malloc.Tpo" \ -c -o vg_replace_malloc.o `test -f 'vg_replace_malloc.c' || echo './'`vg_replace_malloc.c; \ then mv -f ".deps/vg_replace_malloc.Tpo" ".deps/vg_replace_malloc.Po"; \ else rm -f ".deps/vg_replace_malloc.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_scheduler.o -MD -MP -MF ".deps/vg_scheduler.Tpo" \ -c -o vg_scheduler.o `test -f 'vg_scheduler.c' || echo './'`vg_scheduler.c; \ then mv -f ".deps/vg_scheduler.Tpo" ".deps/vg_scheduler.Po"; \ else rm -f ".deps/vg_scheduler.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_default.o -MD -MP -MF ".deps/vg_default.Tpo" \ -c -o vg_default.o `test -f 'vg_default.c' || echo './'`vg_default.c; \ then mv -f ".deps/vg_default.Tpo" ".deps/vg_default.Po"; \ else rm -f ".deps/vg_default.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_demangle.o -MD -MP -MF ".deps/vg_demangle.Tpo" \ -c -o vg_demangle.o `test -f 'vg_demangle.c' || echo './'`vg_demangle.c; \ then mv -f ".deps/vg_demangle.Tpo" ".deps/vg_demangle.Po"; \ else rm -f ".deps/vg_demangle.Tpo"; exit 1; \ fi gcc -I.. -I.. -I./demangle -I../include -mpreferred-stack-boundary=2 -c `test -f 'vg_dispatch.S' || echo './'`vg_dispatch.S if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_errcontext.o -MD -MP -MF ".deps/vg_errcontext.Tpo" \ -c -o vg_errcontext.o `test -f 'vg_errcontext.c' || echo './'`vg_errcontext.c; \ then mv -f ".deps/vg_errcontext.Tpo" ".deps/vg_errcontext.Po"; \ else rm -f ".deps/vg_errcontext.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_execontext.o -MD -MP -MF ".deps/vg_execontext.Tpo" \ -c -o vg_execontext.o `test -f 'vg_execontext.c' || echo './'`vg_execontext.c; \ then mv -f ".deps/vg_execontext.Tpo" ".deps/vg_execontext.Po"; \ else rm -f ".deps/vg_execontext.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_from_ucode.o -MD -MP -MF ".deps/vg_from_ucode.Tpo" \ -c -o vg_from_ucode.o `test -f 'vg_from_ucode.c' || echo './'`vg_from_ucode.c; \ then mv -f ".deps/vg_from_ucode.Tpo" ".deps/vg_from_ucode.Po"; \ else rm -f ".deps/vg_from_ucode.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_hashtable.o -MD -MP -MF ".deps/vg_hashtable.Tpo" \ -c -o vg_hashtable.o `test -f 'vg_hashtable.c' || echo './'`vg_hashtable.c; \ then mv -f ".deps/vg_hashtable.Tpo" ".deps/vg_hashtable.Po"; \ else rm -f ".deps/vg_hashtable.Tpo"; exit 1; \ fi gcc -I.. -I.. -I./demangle -I../include -mpreferred-stack-boundary=2 -c `test -f 'vg_helpers.S' || echo './'`vg_helpers.S if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_instrument.o -MD -MP -MF ".deps/vg_instrument.Tpo" \ -c -o vg_instrument.o `test -f 'vg_instrument.c' || echo './'`vg_instrument.c; \ then mv -f ".deps/vg_instrument.Tpo" ".deps/vg_instrument.Po"; \ else rm -f ".deps/vg_instrument.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -fno-omit-frame-pointer -MT vg_intercept.o -MD -MP -MF ".deps/vg_intercept.Tpo" \ -c -o vg_intercept.o `test -f 'vg_intercept.c' || echo './'`vg_intercept.c; \ then mv -f ".deps/vg_intercept.Tpo" ".deps/vg_intercept.Po"; \ else rm -f ".deps/vg_intercept.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_main.o -MD -MP -MF ".deps/vg_main.Tpo" \ -c -o vg_main.o `test -f 'vg_main.c' || echo './'`vg_main.c; \ then mv -f ".deps/vg_main.Tpo" ".deps/vg_main.Po"; \ else rm -f ".deps/vg_main.Tpo"; exit 1; \ fi if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -mpreferred-stack-boundary=2 -MT vg_malloc2.o -MD -MP -MF ".deps/vg_malloc2.Tpo" \ -c -o vg_malloc2.o `test -f 'vg_malloc2.c' || echo './'`vg_malloc2.c; \ then mv -f ".deps/vg_malloc2.Tpo" ".deps/vg_malloc2.Po"; \ else rm -f ".deps/vg_malloc2.Tpo"; exit 1; \ fi In file included from vg_intercept.c:65: /usr/include/asm/ipc.h:10: error: field `__user' has incomplete type /usr/include/asm/ipc.h:10: error: syntax error before '*' token /usr/include/asm/ipc.h:12: error: syntax error before '}' token vg_intercept.c:448: warning: declaration of `msgtyp' shadows a global declaration /usr/include/asm/ipc.h:11: warning: shadowed declaration is here vg_intercept.c: In function `vgAllRoadsLeadToRome_msgrcv': vg_intercept.c:453: error: storage size of `tmp' isn't known vg_intercept.c:453: warning: unused variable `tmp' vg_intercept.c: At top level: vg_intercept.c:487: warning: declaration of `msgtyp' shadows a global declaration /usr/include/asm/ipc.h:11: warning: shadowed declaration is here make[3]: *** [vg_intercept.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0/coregrind' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/valgrind-2.0.0/work/valgrind-2.0.0' make: *** [all] Error 2 !!! ERROR: dev-util/valgrind-2.0.0 failed. !!! Function src_compile, Line 39, Exitcode 2 !!! (no error message)
sorry me, because I not update headers :(