qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Bill C. Riemers" <docbill@freeshell.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] qemu-0.8.1 compile errors on x86_64 suse linux 10.1
Date: Mon, 17 Jul 2006 23:29:12 -0400	[thread overview]
Message-ID: <23bcb8700607172029m197732bdgd0d75b33c91d3e3c@mail.gmail.com> (raw)
In-Reply-To: <44BC49D8.9030009@tusker.org>

[-- Attachment #1: Type: text/plain, Size: 9868 bytes --]

The following message was forwarded to me:

-------------------------
Hello all,

there's a problem compiling usb-linux.c on SuSE 10.1 with the standard
kernel headers (kernel 2.6.16.13-4-default from uname -r).

I'm using gcc 3.4.6 and the problem is an include file is missing in
usb-linux.c

The missing h-file is <linux/compiler.h>. That inclusion needs to be
written before the inclusion of <linux/usbdevice_fs.h>

Adding this include file the compiler is happy and all is ok.

regards,
Fausto
-------------------------------------------------------

This solution works.  So it looks like the problem is simply a missing
header include in qemu-0.8.1 version.   It has nothing to do with
recompiling glibc, or downloading different kernel source, or any other such
non-sense.

Bill


On 7/17/06, Damien Mascord <tusker@tusker.org> wrote:
>
> Bill C. Riemers wrote:
> > Good guess, SuSE makes many modifications to the standard
> kernel.  However,
> > the kernel source is not the problem.  I downloaded fresh kernel source
> > from
> > www.kernel.org, and I still have the exact same error.  Here are the
> > relevant details:
> >
> > QEMU version: qemu-0.8.1
> > Linux Kernel: 2.6.16.13
> > Operating System: SuSE 10.1
> > gcc version: 3.4.6
> > CPU: Amd Athlon(tm) Processor 3200+
> >
> > Bill
>
> Hi Bill,
>
> NOTE: Jim, if I am totally misrepresenting your comment, my apologies :)
>
> I think Jim is pointing to the linux kernel headers, and not necessarily
> the kernel source.
>
> The linux kernel headers that are used to build your local glibc, and
> hence even if you use the virgin kernel source and load that
> particular kernel, you will have to rebuild your glibc against those
> kernel sources.
>
> You will probably have to symlink the relevant directories so that when
> you build your glibc, it will pick up the virgin headers
> instead of the SuSE modified ones.
>
> Once you have a clean system, running on a virgin kernel, running on a
> glibc compiled against the kernel headers of that virgin
> kernel, and then attempt to compile qemu with gcc 3.x, you will likely not
> run into any problems.
>
> If you still have problems, perhaps you need to recompile said gcc with
> the virgin headers too.
>
> Hope to help,
>
> Damien
>
>
> > On 7/8/06, Jim C. Brown <jma5@umd.edu> wrote:
> >>
> >> The issue is with your linux kernel headers.
> >>
> >> On Sat, Jul 08, 2006 at 11:07:57AM -0400, Doctor Bill wrote:
> >> > At first I thought the problem was that I was using gcc-4, so I
> >> installed
> >> > gcc-3.4.6, but I still get the same errors:
> >> >
> >> > gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -I. -I..
> >> > -I/tmp/qemu-0.8.1/target-i386
> >> > -I/tmp/qemu-0.8.1 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
> >> -D_LARGEFILE_SOURCE
> >> > -I/tmp/qemu-0.8.1/fpu -DHAS_AUDIO -I/tmp/qemu-0.8.1/slirp -c -o
> >> > usb-linux.o/tmp/qemu-
> >> > 0.8.1/usb-linux.c
> >> > In file included from /tmp/qemu-0.8.1/usb-linux.c:29:
> >> > /usr/include/linux/usbdevice_fs.h:49: error: variable or field
> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:49: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:56: error: variable or field
> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:56: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:66: error: variable or field
> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:66: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:100: error: variable or field
> >> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:100: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:109: error: syntax error before '}'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:116: error: variable or field
> >> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:116: error: syntax error before '*'
> >> token
> >> > /tmp/qemu-0.8.1/usb-linux.c: In function `usb_host_handle_control':
> >> > /tmp/qemu-0.8.1/usb-linux.c:91: error: invalid application of
> `sizeof'
> >> to
> >> > incomplete type `usbdevfs_ctrltransfer'
> >> > /tmp/qemu-0.8.1/usb-linux.c: In function `usb_host_handle_data':
> >> > /tmp/qemu-0.8.1/usb-linux.c:110: error: storage size of 'bt' isn't
> >> known
> >> > /tmp/qemu-0.8.1/usb-linux.c:121: error: invalid application of
> `sizeof'
> >> to
> >> > incomplete type `usbdevfs_bulktransfer'
> >> > /tmp/qemu-0.8.1/usb-linux.c:110: warning: unused variable `bt'
> >> > /tmp/qemu-0.8.1/usb-linux.c: In function `usb_host_device_open':
> >> > /tmp/qemu-0.8.1/usb-linux.c:185: error: storage size of 'ctrl' isn't
> >> known
> >> > /tmp/qemu-0.8.1/usb-linux.c:188: error: invalid application of
> `sizeof'
> >> to
> >> > incomplete type `usbdevfs_ioctl'
> >> > /tmp/qemu-0.8.1/usb-linux.c:185: warning: unused variable `ctrl'
> >> > make[1]: *** [usb-linux.o] Error 1
> >> > make[1]: Leaving directory `/tmp/x/i386-softmmu'
> >> > make: *** [all] Error 1
> >> > docbill@docbill003:/tmp/x> make
> >> > for d in i386-user arm-user armeb-user sparc-user ppc-user mips-user
> >> > mipsel-user i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu
> >> > mips-softmmu mipsel-softmmu arm-softmmu; do \
> >> > make -C $d all || exit 1 ; \
> >> >        done
> >> > make[1]: Entering directory `/tmp/x/i386-user'
> >> > make[1]: Nothing to be done for `all'.
> >> > make[1]: Leaving directory `/tmp/x/i386-user'
> >> > make[1]: Entering directory `/tmp/x/arm-user'
> >> > make[1]: Nothing to be done for `all'.
> >> > make[1]: Leaving directory `/tmp/x/arm-user'
> >> > make[1]: Entering directory `/tmp/x/armeb-user'
> >> > make[1]: Nothing to be done for `all'.
> >> > make[1]: Leaving directory `/tmp/x/armeb-user'
> >> > make[1]: Entering directory `/tmp/x/sparc-user'
> >> > make[1]: Nothing to be done for `all'.
> >> > make[1]: Leaving directory `/tmp/x/sparc-user'
> >> > make[1]: Entering directory `/tmp/x/ppc-user'
> >> > make[1]: Nothing to be done for `all'.
> >> > make[1]: Leaving directory `/tmp/x/ppc-user'
> >> > make[1]: Entering directory `/tmp/x/mips-user'
> >> > make[1]: Nothing to be done for `all'.
> >> > make[1]: Leaving directory `/tmp/x/mips-user'
> >> > make[1]: Entering directory `/tmp/x/mipsel-user'
> >> > make[1]: Nothing to be done for `all'.
> >> > make[1]: Leaving directory `/tmp/x/mipsel-user'
> >> > make[1]: Entering directory `/tmp/x/i386-softmmu'
> >> > gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -I. -I..
> >> > -I/tmp/qemu-0.8.1/target-i386
> >> > -I/tmp/qemu-0.8.1 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
> >> -D_LARGEFILE_SOURCE
> >> > -I/tmp/qemu-0.8.1/fpu -DHAS_AUDIO -I/tmp/qemu-0.8.1/slirp -c -o
> >> > usb-linux.o/tmp/qemu-
> >> > 0.8.1/usb-linux.c
> >> > In file included from /tmp/qemu-0.8.1/usb-linux.c:29:
> >> > /usr/include/linux/usbdevice_fs.h:49: error: variable or field
> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:49: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:56: error: variable or field
> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:56: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:66: error: variable or field
> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:66: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:100: error: variable or field
> >> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:100: error: syntax error before '*'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:109: error: syntax error before '}'
> >> token
> >> > /usr/include/linux/usbdevice_fs.h:116: error: variable or field
> >> `__user'
> >> > declared void
> >> > /usr/include/linux/usbdevice_fs.h:116: error: syntax error before '*'
> >> token
> >> > /tmp/qemu-0.8.1/usb-linux.c: In function `usb_host_handle_control':
> >> > /tmp/qemu-0.8.1/usb-linux.c:91: error: invalid application of
> `sizeof'
> >> to
> >> > incomplete type `usbdevfs_ctrltransfer'
> >> > /tmp/qemu-0.8.1/usb-linux.c: In function `usb_host_handle_data':
> >> > /tmp/qemu-0.8.1/usb-linux.c:110: error: storage size of 'bt' isn't
> >> known
> >> > /tmp/qemu-0.8.1/usb-linux.c:121: error: invalid application of
> `sizeof'
> >> to
> >> > incomplete type `usbdevfs_bulktransfer'
> >> > /tmp/qemu-0.8.1/usb-linux.c:110: warning: unused variable `bt'
> >> > /tmp/qemu-0.8.1/usb-linux.c: In function `usb_host_device_open':
> >> > /tmp/qemu-0.8.1/usb-linux.c:185: error: storage size of 'ctrl' isn't
> >> known
> >> > /tmp/qemu-0.8.1/usb-linux.c:188: error: invalid application of
> `sizeof'
> >> to
> >> > incomplete type `usbdevfs_ioctl'
> >> > /tmp/qemu-0.8.1/usb-linux.c:185: warning: unused variable `ctrl'
> >> > make[1]: *** [usb-linux.o] Error 1
> >> > make[1]: Leaving directory `/tmp/x/i386-softmmu'
> >> > make: *** [all] Error 1
> >> >
> >> >
> >> > **
> >>
> >> > _______________________________________________
> >> > Qemu-devel mailing list
> >> > Qemu-devel@nongnu.org
> >> > http://lists.nongnu.org/mailman/listinfo/qemu-devel
> >>
> >>
> >> --
> >> Infinite complexity begets infinite beauty.
> >> Infinite precision begets infinite perfection.
> >>
> >>
> >> _______________________________________________
> >> Qemu-devel mailing list
> >> Qemu-devel@nongnu.org
> >> http://lists.nongnu.org/mailman/listinfo/qemu-devel
> >>
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Qemu-devel mailing list
> > Qemu-devel@nongnu.org
> > http://lists.nongnu.org/mailman/listinfo/qemu-devel
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>

[-- Attachment #2: Type: text/html, Size: 12507 bytes --]

  reply	other threads:[~2006-07-18  3:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-08 15:07 [Qemu-devel] qemu-0.8.1 compile errors on x86_64 suse linux 10.1 Doctor Bill
2006-07-08 15:15 ` Jim C. Brown
2006-07-17 19:16   ` Bill C. Riemers
2006-07-18  2:39     ` Damien Mascord
2006-07-18  3:29       ` Bill C. Riemers [this message]
2006-07-18 12:22         ` Damien Mascord

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=23bcb8700607172029m197732bdgd0d75b33c91d3e3c@mail.gmail.com \
    --to=docbill@freeshell.org \
    --cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).