[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] build problem with new ioemu



On Friday 18 July 2008 15:00:07 Pat Campbell wrote:
> Christoph Egger wrote:
> > Hi!
> >
> > The new ioemu from the git tree does not build on a 64bit SLES 10SP2:
> >
> > In file included from usb-linux.c:31:
> > /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 usb-linux.c: In function `usb_host_update_interfaces':
> > usb-linux.c:183: error: storage size of 'ctrl' isn't known
> > usb-linux.c:187: error: invalid application of `sizeof' to incomplete
> > type `usbdevfs_ioctl'
> > usb-linux.c: In function `usb_host_handle_control':
> > usb-linux.c:283: error: invalid application of `sizeof' to incomplete
> > type `usbdevfs_ctrltransfer'
> > usb-linux.c: In function `usb_host_handle_data':
> > usb-linux.c:309: error: storage size of 'bt' isn't known
> > usb-linux.c:325: error: invalid application of `sizeof' to incomplete
> > type `usbdevfs_bulktransfer'
> > usb-linux.c: In function `usb_host_handle_isoch':
> > usb-linux.c:414: error: invalid application of `sizeof' to incomplete
> > type `usbdevfs_urb'
> > usb-linux.c:421: error: dereferencing pointer to incomplete type
> > usb-linux.c:422: error: dereferencing pointer to incomplete type
> > usb-linux.c:423: error: dereferencing pointer to incomplete type
> > usb-linux.c:424: error: dereferencing pointer to incomplete type
> > usb-linux.c:425: error: dereferencing pointer to incomplete type
> > usb-linux.c:426: error: dereferencing pointer to incomplete type
> > usb-linux.c:427: error: dereferencing pointer to incomplete type
> > usb-linux.c:428: error: dereferencing pointer to incomplete type
> > usb-linux.c:429: error: dereferencing pointer to incomplete type
> > usb-linux.c:433: error: dereferencing pointer to incomplete type
> > usb-linux.c:435: error: dereferencing pointer to incomplete type
> > usb-linux.c:436: error: dereferencing pointer to incomplete type
> > usb-linux.c:437: error: dereferencing pointer to incomplete type
> > usb-linux.c:438: error: dereferencing pointer to incomplete type
> > usb-linux.c:439: error: dereferencing pointer to incomplete type
> > usb-linux.c:440: error: invalid application of `sizeof' to incomplete
> > type `usbdevfs_urb'
> > usb-linux.c:475: error: dereferencing pointer to incomplete type
> > usb-linux.c: In function `usb_linux_update_endp_table':
> > usb-linux.c:506: error: invalid application of `sizeof' to incomplete
> > type `usbdevfs_ctrltransfer'
> > usb-linux.c:547: error: invalid application of `sizeof' to incomplete
> > type `usbdevfs_ctrltransfer'
> > gcc -Wall -O2 -g -fno-strict-aliasing -O2 -fomit-frame-pointer -m64
> > -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
> > -Wno-unused-value -Wdeclaration-after-statement  -D__XEN_TOOLS__ 
> > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -DUSE_SSE2=1 -msse2
> > -Wno-unused -Wno-declaration-after-statement   -m64
> > -I/xen/xen-unstable.hg/tools/..//tools/libxc
> > -I/xen/xen-unstable.hg/tools/..//tools/xenstore
> > -I/xen/xen-unstable.hg/tools/..//tools/include
> > -I/xen/xen-unstable.hg/tools/..//tools/blktap/lib -I.
> > -I/xen/xen-unstable.hg/tools/ioemu-dir -MMD -MP -D_GNU_SOURCE
> > -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -c -o usb-serial.o
> > /xen/xen-unstable.hg/tools/ioemu-dir/hw/usb-serial.c make[3]: ***
> > [usb-linux.o] Error 1
> > make[3]: *** Waiting for unfinished jobs....
> > make[3]: *** wait: No child processes.  Stop.
> > make[2]: *** [subdir-install-ioemu-dir] Error 2
> > make[2]: Leaving directory `/xen/xen-unstable.hg/tools'
> > make[1]: *** [subdirs-install] Error 2
> > make[1]: Leaving directory `/xen/xen-unstable.hg/tools'
> > make: *** [install-tools] Error 2
>
> I added the following to get past this.
> --- a/usb-linux.c    2008-07-18 06:54:47.000000000 -0600
> +++ b/usb-linux.c    2008-07-18 06:09:31.000000000 -0600
> @@ -28,6 +28,7 @@
>  #if defined(__linux__)
>  #include <dirent.h>
>  #include <sys/ioctl.h>
> +#include <linux/compiler.h>
>  #include <linux/usbdevice_fs.h>
>  #include <linux/version.h>
>
> Old code did:
> /* Some versions of usbdevice_fs.h need __user to be defined for them.   */
> /* This may (harmlessly) conflict with a definition in linux/compiler.h. */
> #define __user
> #include <linux/usbdevice_fs.h>
>
> Not sure which is the better solution
>
> Pat

This patch works. Tnx.

Keir: Please apply it.


-- 
AMD Saxony, Dresden, Germany
Operating System Research Center

Legal Information:
AMD Saxony Limited Liability Company & Co. KG
Sitz (Geschäftsanschrift):
   Wilschdorfer Landstr. 101, 01109 Dresden, Deutschland
Registergericht Dresden: HRA 4896
vertretungsberechtigter Komplementär:
   AMD Saxony LLC (Sitz Wilmington, Delaware, USA)
Geschäftsführer der AMD Saxony LLC:
   Dr. Hans-R. Deppe, Thomas McCoy


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.