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

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



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


_______________________________________________
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®.