This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
fedora 8 update to 2.6.24.3-12.fc8, error: linux/hrtimer.h: No such file or directory
- From: Frank Singleton <javabear at tx dot rr dot com>
- To: systemtap at sourceware dot org
- Date: Fri, 07 Mar 2008 16:47:21 -0600
- Subject: fedora 8 update to 2.6.24.3-12.fc8, error: linux/hrtimer.h: No such file or directory
Hi,
Thanks for the great instrumentation tool :-)
Was happily playing with systemtap until I took a kernel/debuginfo
update today on fedora 8.
now simple stap example fails to compile
Any thoughts ??
/Frank
[root@cray frank]# uname -a
Linux cray.laptop 2.6.24.3-12.fc8 #1 SMP Tue Feb 26 14:58:29 EST 2008
i686 i686 i386 GNU/Linux
[root@cray frank]#
[root@cray frank]#
have the following installed
[root@cray frank]# rpm -qa |grep -i kernel
kernel-debuginfo-common-2.6.24.3-12.fc8
kernel-devel-2.6.23.15-137.fc8
kernel-2.6.23.15-137.fc8
kernel-devel-2.6.24.3-12.fc8
kernel-debuginfo-2.6.24.3-12.fc8
kernel-2.6.24.3-12.fc8
kernel-headers-2.6.24.3-12.fc8
[root@cray frank]#
[root@cray frank]# rpm -qa |grep -i systemtap
systemtap-0.5.14-1.fc8
systemtap-runtime-0.5.14-1.fc8
run a simple stap to see if all is well, but it complains about missing
file.
[root@cray frank]# stap -vve 'probe begin { log("hello world") exit () }'
SystemTap translator/driver (version 0.5.14/0.131 built 2007-08-21)
Copyright (C) 2005-2007 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Created temporary directory "/tmp/stapHB0Auz"
Searched '/usr/share/systemtap/tapset/i686/*.stp', found 1
Searched '/usr/share/systemtap/tapset/*.stp', found 35
Searched '/usr/share/systemtap/tapset/LKET/*.stp', found 19
Pass 1: parsed user script and 55 library script(s) in
310usr/0sys/318real ms.
Pass 2: analyzed script: 1 probe(s), 2 function(s), 0 embed(s), 0
global(s) in 0usr/0sys/6real ms.
Pass 3: translated to C into
"/tmp/stapHB0Auz/stap_a887418b0aa501cc9474dc4334da332d_328.c" in
0usr/0sys/0real ms.
Running make -C "/lib/modules/2.6.24.3-12.fc8/build" M="/tmp/stapHB0Auz"
modules V=1
make: Entering directory `/usr/src/kernels/2.6.24.3-12.fc8-i686'
test -e include/linux/autoconf.h -a -e include/config/auto.conf ||
( \
echo; \
echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or
include/config/auto.conf are missing."; \
echo " Run 'make oldconfig && make prepare' on kernel src
to fix it."; \
echo; \
/bin/false)
mkdir -p /tmp/stapHB0Auz/.tmp_versions ; rm -f
/tmp/stapHB0Auz/.tmp_versions/*
make -f scripts/Makefile.build obj=/tmp/stapHB0Auz
+ gcc -m32
'-DKBUILD_BASENAME="stap_a887418b0aa501cc9474dc4334da332d_328"' -Werror
-S -o /dev/null -xc /usr/share/systemtap/runtime/autoconf-hrtimer-rel.c
/usr/share/systemtap/runtime/autoconf-hrtimer-rel.c:1:27: error:
linux/hrtimer.h: No such file or directory
/usr/share/systemtap/runtime/autoconf-hrtimer-rel.c:3: error:
'HRTIMER_REL' undeclared here (not in a function)
+ echo ''
+ gcc -m32
'-DKBUILD_BASENAME="stap_a887418b0aa501cc9474dc4334da332d_328"' -Werror
-S -o /dev/null -xc /usr/share/systemtap/runtime/autoconf-inode-private.c
/usr/share/systemtap/runtime/autoconf-inode-private.c:6: error: variable
'i' has initializer but incomplete type
/usr/share/systemtap/runtime/autoconf-inode-private.c:6: error: unknown
field 'i_private' specified in initializer
cc1: warnings being treated as errors
/usr/share/systemtap/runtime/autoconf-inode-private.c:6: warning: excess
elements in struct initializer
/usr/share/systemtap/runtime/autoconf-inode-private.c:6: warning: (near
initialization for 'i')
+ echo ''
scripts/Makefile.build:46: *** CFLAGS was changed in
"/tmp/stapHB0Auz/Makefile". Fix it to use EXTRA_CFLAGS. Stop.
make: *** [_module_/tmp/stapHB0Auz] Error 2
make: Leaving directory `/usr/src/kernels/2.6.24.3-12.fc8-i686'
Pass 4: compiled C into "stap_a887418b0aa501cc9474dc4334da332d_328.ko"
in 230usr/160sys/435real ms.
Pass 4: compilation failed. Try again with more '-v' (verbose) options.
Running rm -rf /tmp/stapHB0Auz
[root@cray frank]#
So check autoconf-hrtimer-rel.c
[root@cray frank]# more /usr/share/systemtap/runtime/autoconf-hrtimer-rel.c
#include <linux/hrtimer.h>
int x = HRTIMER_REL; /* as opposed to HRTIMER_MODE_REL */
[root@cray frank]#
Lets check hrtimer.h location
[root@cray frank]# locate hrtimer.h
/usr/src/debug/kernel-2.6.24/linux-2.6.24.i686/include/linux/hrtimer.h
/usr/src/kernels/2.6.23.15-137.fc8-i686/include/linux/hrtimer.h
/usr/src/kernels/2.6.24.3-12.fc8-i686/include/linux/hrtimer.h