|
From: Sefer T. <se...@ho...> - 2004-07-15 06:26:19
|
Hi,
I am using Mandrake cooker 10.1 (kernel 2.6.7, glibc 2.3.3) and since the
recent commit I fail to compile valgrind from the CVS source (two issues
actually).
Looks like "vg_unsafe.h" possibly needs an additional include (due to
missing declarations):
#include <linux/netlink.h>
prior to this one
#include <linux/fs.h>
In order to accomodate for the missing structure declaration "nlmsghdr"
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -I../include
-I./x86 -DVG_LIBDIR="\"/opt/valgrind/lib/valgrind"\" -Winline -Wall
-Wshadow -O -fno-omit-frame-pointer -mpreferred-stack-boundary=2 -g
-DELFSZ=32 -MT vg_syscalls.o -MD -MP -MF ".deps/vg_syscalls.Tpo" \
-c -o vg_syscalls.o `test -f 'vg_syscalls.c' || echo './'`vg_syscalls.c; \
then mv -f ".deps/vg_syscalls.Tpo" ".deps/vg_syscalls.Po"; \
else rm -f ".deps/vg_syscalls.Tpo"; exit 1; \
fi
In file included from /usr/include/linux/msg.h:5,
from vg_unsafe.h:57,
from vg_syscalls.c:35:
/usr/include/linux/list.h:685:2: warning: #warning "don't include kernel
headers in userspace"
In file included from /usr/include/linux/fs.h:22,
from vg_unsafe.h:67,
from vg_syscalls.c:35:
/usr/include/linux/audit.h:101: error: field `nlh' has incomplete type
make[4]: *** [vg_syscalls.o] Error 1
make[4]: Leaving directory `/home/zvi/t/valgrind/coregrind'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/zvi/t/valgrind/coregrind'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/zvi/t/valgrind/coregrind'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/zvi/t/valgrind'
make: *** [all] Error 2
Another issue is this warning I have noticed.
checking linux/mii.h usability... no
checking linux/mii.h presence... yes
configure: WARNING: linux/mii.h: present but cannot be compiled
configure: WARNING: linux/mii.h: check for missing prerequisite headers?
configure: WARNING: linux/mii.h: see the Autoconf documentation
configure: WARNING: linux/mii.h: section "Present But Cannot Be
Compiled"
configure: WARNING: linux/mii.h: proceeding with the preprocessor's result
configure: WARNING: linux/mii.h: in the future, the compiler will take
precedence
configure: WARNING: ## ------------------------------------------ ##
configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ##
configure: WARNING: ## ------------------------------------------ ##
checking for linux/mii.h... yes
checking for uid_t in sys/types.h... yes
Caused by these missing definitions. Apparently the symbol "u16" is
undefined (it's probably a bug in the headers themselves - but I guess it
can defined manually if it isn't already defined).
configure:4900: checking linux/mii.h usability
configure:4912: gcc -c conftest.c >&5
In file included from conftest.c:75:
/usr/include/linux/mii.h:140: error: syntax error before "u16"
/usr/include/linux/mii.h:142: error: syntax error before "val_in"
/usr/include/linux/mii.h:143: error: syntax error before "val_out"
_________________________________________________________________
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.
http://join.msn.com/?page=features/virus
|
|
From: Tom H. <th...@cy...> - 2004-07-15 06:36:05
|
In message <BAY...@ho...>
"Sefer Tov" <se...@ho...> wrote:
> Another issue is this warning I have noticed.
>
> checking linux/mii.h usability... no
> checking linux/mii.h presence... yes
> configure: WARNING: linux/mii.h: present but cannot be compiled
> configure: WARNING: linux/mii.h: check for missing prerequisite headers?
> configure: WARNING: linux/mii.h: see the Autoconf documentation
> configure: WARNING: linux/mii.h: section "Present But Cannot Be
> Compiled"
> configure: WARNING: linux/mii.h: proceeding with the preprocessor's result
> configure: WARNING: linux/mii.h: in the future, the compiler will take
> precedence
> configure: WARNING: ## ------------------------------------------ ##
> configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ##
> configure: WARNING: ## ------------------------------------------ ##
> checking for linux/mii.h... yes
> checking for uid_t in sys/types.h... yes
>
> Caused by these missing definitions. Apparently the symbol "u16" is
> undefined (it's probably a bug in the headers themselves - but I guess it
> can defined manually if it isn't already defined).
If you look at the rest of the configure output you'll see that I do
check for u16 and valgrind then defines it if necessary before including
that header.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|