WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] build problem with new ioemu
From: Christoph Egger <Christoph.Egger@xxxxxxx>
Date: Fri, 18 Jul 2008 14:59:24 +0200
Cc: Pat Campbell <plc@xxxxxxxxxx>
Delivery-date: Fri, 18 Jul 2008 06:00:01 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <488093D7.4060608@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200807181410.50965.Christoph.Egger@xxxxxxx> <488093D7.4060608@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.7
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