public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Carlo Wood <carlo@alinoe.com>
To: ext3grep@googlegroups.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: [ext3grep] compile error
Date: Fri, 14 Mar 2008 18:00:04 +0100	[thread overview]
Message-ID: <20080314170004.GA25174@alinoe.com> (raw)
In-Reply-To: <1f45affd0803140826m34d9eee5veb8069e215d55fcf@mail.gmail.com>

On Fri, Mar 14, 2008 at 08:56:40PM +0530, vishwanathtk@gmail.com wrote:
> Hi,
> 
> I am getting some compile time error:
> 
> make[2]: Entering directory `/usr/src/redhat/BUILD/ext3grep-0.0.1/src'
> g++ -Iempty.pch.h -DHAVE_CONFIG_H -I. -I..    -g -O2  -include pch.h \
>           -c -o pch.h.gch/68b329da9893e34099c7d8ad5cb9c940 ./pch-source.h
> /usr/include/linux/ext3_fs.h: In function 'unsigned int ext3_rec_len_from_disk (__le16)':
> /usr/include/linux/ext3_fs.h:615: error: 'le16_to_cpu' was not declared in this scope

This seem a bug in linux/ext3_fs.h. I was able to reproduce this on
debian sid, meaning kernel (headers) 2.6.24.

linux/ext3_fs.h defines functions in user space (with __KERNEL__
UNdefined) that use le16_to_cpu et al, but those are not defined
without __KERNEL__ being defined. Moreover, the header that defined
them is no longer available in userspace.

This means that we'd need an ugly work around: you'll have to
define all those macro's yourself before including linux/ext3_fs.h.
The best thing to do is to add a test to configure.ac for this,
and when needed define the macro's in sys.h.

linux/ext3_fs.h is now also using/calling a macro called BUG(), wtf?

Is there a kernel hacker on the list who can tell me what to do?
Is is not allowed to include <linux/ext3_fs.h> (and <linux/jbd.h>)
in a user application? How is one supposed to use these header files?

I can write workarounds without problems, but that might break every
other kernel version if things like this are being done.

I'm also getting:

/usr/include/linux/jbd.h:63: error: 'get_order' was not declared in this scope
/usr/include/linux/jbd.h:63: error: '__get_free_pages' was not declared in this scope
/usr/include/linux/jbd.h:68: error: 'free_pages' was not declared in this scope

-- 
Carlo Wood <carlo@alinoe.com>

       reply	other threads:[~2008-03-14 17:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1f45affd0803140826m34d9eee5veb8069e215d55fcf@mail.gmail.com>
2008-03-14 17:00 ` Carlo Wood [this message]
2008-03-14 18:14   ` [ext3grep] compile error Christoph Hellwig
2008-03-14 20:55     ` Theodore Tso

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080314170004.GA25174@alinoe.com \
    --to=carlo@alinoe.com \
    --cc=ext3grep@googlegroups.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox