This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: two errors - what are they?
- From: "Peter Teoh" <htmldeveloper at gmail dot com>
- To: wenji dot huang at oracle dot com
- Cc: "Frank Ch. Eigler" <fche at redhat dot com>, systemtap at sources dot redhat dot com
- Date: Sat, 17 May 2008 23:48:36 +0800
- Subject: Re: two errors - what are they?
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=BoPeGqJoalTE0OnYThDr103OLsJ57LAUWd8+JTHsBm4=; b=P6WBgIjn8YiqMYUOHppm/O7peXGtg5JHkh36MXBCfsq4A4F9aQi7299XLgP2uwvBwCpWr5f5F215my2Gft6HctgG8cTmQY70RXOlKlGZQCNE/3HZY5HiqDDxDBXN2uxlrkE9oNZlVZrdoKOhUWvsLSmBxTIgEGW0dBduvCzInRY=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=iW1KcUt1FN4tZpPQctuoFlVcJS9sOba3tcoMRJ+w+xljInAH6hO26OkwXevGpdx+Y6bPSoPBhvSojH5MPwE+mNqCcaCy3z2/Z6ozQvPcBIhDO3/4lb9YP64O3sk5N8q0vpkrw2kN0rv5lXrhnWmb5s6BKCHdBTidueUA4zEDPlU=
- References: <804dabb00805161749l7b6927boaad16107cd0d7f1e@mail.gmail.com> <y0mlk29g1a5.fsf@ton.toronto.redhat.com> <804dabb00805170012j4d0d4b39nd27ec0eff7c9d6df@mail.gmail.com> <25797731.1211011021226.JavaMail.oracle@acsmt302.oracle.com>
On Sat, May 17, 2008 at 3:57 PM, <wenji.huang@oracle.com> wrote:
>> thank you for the answer. has it been fixed?
>>
>> 6429 is the same as 6510, and here within it is mentioned as
>> fixed, right?
>>
>> http://sourceware.org/bugzilla/show_bug.cgi?id=6510
>>
>> But my current systemtap (after doing a git pull and compile
>> install)
>> is already the latest, and still having the same problem:
>>
>> 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)
>>
>> and this:
>>
>> In file included from
>> /usr/local/share/systemtap/runtime/transport/transport.c:22,
>> from /usr/local/share/systemtap/runtime/print.c:17,
>> from /usr/local/share/systemtap/runtime/runtime.h:82,
>> from
>> /tmp/stapt7sMiH/stap_5e59f7c7581623199639d9e6ea82ab29_12247.c:41:
>> /usr/local/share/systemtap/runtime/transport/symbols.c: In
>> function
>> '_stp_load_module_symbols':
>> /usr/local/share/systemtap/runtime/transport/symbols.c:407:
>> error:
>> dereferencing pointer to incomplete type
>> /usr/local/share/systemtap/runtime/transport/symbols.c:425:
>> error:
>> dereferencing pointer to incomplete type
>> /usr/local/share/systemtap/runtime/transport/symbols.c:427:
>> error:
>> dereferencing pointer to incomplete type
>> /usr/local/share/systemtap/runtime/transport/symbols.c:456:
>> error:
>> dereferencing pointer to incomplete type
>> /usr/local/share/systemtap/runtime/transport/symbols.c:457:
>> error:
>> dereferencing pointer to incomplete type
>> /usr/local/share/systemtap/runtime/transport/symbols.c:460:
>> error:
>> dereferencing pointer to incomplete type
>>
>> and finally:
>> make[1]: *** [/tmp/stapt7sMiH/stap_5e59f7c7581623199639d9e6ea82ab29_12247.o]
>> Error 1
>> make: *** [_module_/tmp/stapt7sMiH] Error 2
>> Pass 4: compiled C into
>> "stap_5e59f7c7581623199639d9e6ea82ab29_12247.ko" in
>> 1120usr/530sys/4117real ms.
>> Pass 4: compilation failed. Try again with more '-v' (verbose)
>> options.
>> Running rm -rf /tmp/stapt7sMiH
>>
>> I suspect there must be something wrong on my side....
>
> The main problem is the change of upstream kernel. Structure module_sect_attr{s} was moved to
> module.c, not in module.h as before. So the accessing member is denied lack of definition. This
> happens since 2.6.26 and is architecture independant.
>
> Regards,
> Wenji
>
>
I see....thank you for the explanation. Systemtap is highly
sensitive to kernel version. So using macros like the following:
./runtime/alloc.c:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15) */
we should be able to resolve the errors, and make it work for the
different kernel version, correct? As far as possible we should be
having our own structures/headers, so that it will not break easily
when the kernel starts changing....anyway just some wishful
thinking....:-).
So is the fix completed, or it is not? thank you :-).
--
Regards,
Peter Teoh