public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* Errors compiling a tap on kernel 4.8.0-0.bpo.2-amd64
@ 2017-01-20  2:21 webman
  2017-01-20 14:46 ` David Smith
  2017-01-20 20:31 ` Frank Ch. Eigler
  0 siblings, 2 replies; 3+ messages in thread
From: webman @ 2017-01-20  2:21 UTC (permalink / raw)
  To: systemtap

Hello !

I had just to reinstall my server, where I need some TAPs.
In this setup I moved on to kernel 4.8.0-0.bpo.2-amd64
to get newer features.
Now, my taps (any - so it looks) dont compile.
I followed the instructions in the debian readme and
installed the required packages without error.

Example:

root@grid:/ops/taps# stap watchport53.stp
/tmp/stapmHsuXa/stap_e2a5f917741269f4e397d293840ffdda_26964_src.c:10:29:
fatal error: runtime_defines.h: No such file or directory
 #include "runtime_defines.h"
                             ^
compilation terminated.
/usr/src/linux-headers-4.8.0-0.bpo.2-common/scripts/Makefile.build:294:
recipe for target
'/tmp/stapmHsuXa/stap_e2a5f917741269f4e397d293840ffdda_26964_src.o' failed
make[3]: ***
[/tmp/stapmHsuXa/stap_e2a5f917741269f4e397d293840ffdda_26964_src.o] Error 1
/usr/src/linux-headers-4.8.0-0.bpo.2-common/Makefile:1490: recipe for target
'_module_/tmp/stapmHsuXa' failed
make[2]: *** [_module_/tmp/stapmHsuXa] Error 2
Makefile:150: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make: *** [all] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed.  [man error::pass4]
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.

The source is:
===
global the_daddr = ""   # override with -G the_daddr=127.0.0.1

global the_dport = 53    # override with -G the_dport=53


probe netfilter.ip.local_out {
    if ((the_dport == 0 || the_dport == dport) &&
        (the_daddr == "" || the_daddr == daddr))
            printf("%s[%d] sent packet to %s:%d\n", execname(), tid(),
daddr, dport)
}
===

Any tips would be great! Just to be sure to have it mentioned:
I am using ZFS on root. I verified the permission and settings
with a computer, where this works and this looks ok.
[Linux grid 4.8.0-0.bpo.2-amd64 #1 SMP Debian 4.8.15-2~bpo8+2 (2017-01-17)
x86_64 GNU/Linux ]

Thanks anyway,
Manfred



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Errors compiling a tap on kernel 4.8.0-0.bpo.2-amd64
  2017-01-20  2:21 Errors compiling a tap on kernel 4.8.0-0.bpo.2-amd64 webman
@ 2017-01-20 14:46 ` David Smith
  2017-01-20 20:31 ` Frank Ch. Eigler
  1 sibling, 0 replies; 3+ messages in thread
From: David Smith @ 2017-01-20 14:46 UTC (permalink / raw)
  To: webman, systemtap

On 01/19/2017 08:20 PM, webman@manfbraun.de wrote:
> Hello !
> 
> I had just to reinstall my server, where I need some TAPs.
> In this setup I moved on to kernel 4.8.0-0.bpo.2-amd64
> to get newer features.
> Now, my taps (any - so it looks) dont compile.
> I followed the instructions in the debian readme and
> installed the required packages without error.
> 
> Example:
> 
> root@grid:/ops/taps# stap watchport53.stp
> /tmp/stapmHsuXa/stap_e2a5f917741269f4e397d293840ffdda_26964_src.c:10:29:
> fatal error: runtime_defines.h: No such file or directory
>  #include "runtime_defines.h"
>                              ^
> compilation terminated.
> /usr/src/linux-headers-4.8.0-0.bpo.2-common/scripts/Makefile.build:294:
> recipe for target
> '/tmp/stapmHsuXa/stap_e2a5f917741269f4e397d293840ffdda_26964_src.o' failed
> make[3]: ***
> [/tmp/stapmHsuXa/stap_e2a5f917741269f4e397d293840ffdda_26964_src.o] Error 1
> /usr/src/linux-headers-4.8.0-0.bpo.2-common/Makefile:1490: recipe for target
> '_module_/tmp/stapmHsuXa' failed
> make[2]: *** [_module_/tmp/stapmHsuXa] Error 2
> Makefile:150: recipe for target 'sub-make' failed
> make[1]: *** [sub-make] Error 2
> Makefile:8: recipe for target 'all' failed
> make: *** [all] Error 2
> WARNING: kbuild exited with status: 2
> Pass 4: compilation failed.  [man error::pass4]
> Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
> 
> The source is:
> ===
> global the_daddr = ""   # override with -G the_daddr=127.0.0.1
> 
> global the_dport = 53    # override with -G the_dport=53
> 
> 
> probe netfilter.ip.local_out {
>     if ((the_dport == 0 || the_dport == dport) &&
>         (the_daddr == "" || the_daddr == daddr))
>             printf("%s[%d] sent packet to %s:%d\n", execname(), tid(),
> daddr, dport)
> }
> ===
> 
> Any tips would be great! Just to be sure to have it mentioned:
> I am using ZFS on root. I verified the permission and settings
> with a computer, where this works and this looks ok.
> [Linux grid 4.8.0-0.bpo.2-amd64 #1 SMP Debian 4.8.15-2~bpo8+2 (2017-01-17)
> x86_64 GNU/Linux ]

> I forgot the version of systemtap, I am using:
>
> "3.0-6~bpo8+1" (on debian 8.7, kernel 4.8.0-0.bpo.2-amd64).
>

It looks like you've got 2 problems here. Not being able to find
runtime_defines.h looks like your install isn't complete (or you are
missing a subpackage). Your next problem is that kernel 4.8 came out
after systemtap 3.0 came out. So, you may need to use systemtap HEAD and
build systemtap from source.

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Errors compiling a tap on kernel 4.8.0-0.bpo.2-amd64
  2017-01-20  2:21 Errors compiling a tap on kernel 4.8.0-0.bpo.2-amd64 webman
  2017-01-20 14:46 ` David Smith
@ 2017-01-20 20:31 ` Frank Ch. Eigler
  1 sibling, 0 replies; 3+ messages in thread
From: Frank Ch. Eigler @ 2017-01-20 20:31 UTC (permalink / raw)
  To: webman; +Cc: systemtap

<webman@manfbraun.de> writes:

> [...]
> /tmp/stapmHsuXa/stap_e2a5f917741269f4e397d293840ffdda_26964_src.c:10:29:
> fatal error: runtime_defines.h: No such file or directory
>  #include "runtime_defines.h"
>                              ^
> [...]

A user on IRC reported similar problems recently.  Something about a
partial kernel build tree conflicted with the use of double-quotes for
certain macro definitions in the systemtap-generated module Makefile.
This prevented e.g.

EXTRA_CFLAGS += -I"/usr/share/systemtap/runtime"

bit from being passed to the compiler, which in turn led to this same
error message.  The user reported that removing the double-quotes made
it work.  It may be some kernel kbuild script related to .cmd files that
was at fault.

- FChE

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-20 20:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-20  2:21 Errors compiling a tap on kernel 4.8.0-0.bpo.2-amd64 webman
2017-01-20 14:46 ` David Smith
2017-01-20 20:31 ` Frank Ch. Eigler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).