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 -- 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@lists.xensource.com http://lists.xensource.com/xen-devel
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 > > PatThis 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@lists.xensource.com http://lists.xensource.com/xen-devel
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@lists.xensource.com http://lists.xensource.com/xen-devel
On 18/7/08 13:59, "Christoph Egger" <Christoph.Egger@amd.com> wrote:>> 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.IanJ is on it. The old approach is better than linux/compiler.h since not all systems have that header (and if they do, may not define __user). -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Friday 18 July 2008 15:08:22 Keir Fraser wrote:> On 18/7/08 13:59, "Christoph Egger" <Christoph.Egger@amd.com> wrote: > >> 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. > > IanJ is on it.Ok.> The old approach is better than linux/compiler.h since not all systems have > that header (and if they do, may not define __user).Right. In particular the non-LInux systems don''t have any <linux/*> header. ;-) -- 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@lists.xensource.com http://lists.xensource.com/xen-devel
On 18/7/08 14:13, "Christoph Egger" <Christoph.Egger@amd.com> wrote:>> The old approach is better than linux/compiler.h since not all systems have >> that header (and if they do, may not define __user). > > Right. In particular the non-LInux systems don''t have any <linux/*> > header. ;-)In such circumstances usb-linux.c is mostly ifdef''ed away. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Pat Campbell writes ("Re: [Xen-devel] build problem with new ioemu"):> 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 solutionThank you, I think yours is exactly the right answer. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser writes ("Re: [Xen-devel] build problem with new ioemu"):> The old approach is better than linux/compiler.h since not all systems have > that header (and if they do, may not define __user).Which systems don''t have <linux/compiler.h> ? Even my Debian sarge box has it. (The egrep -R you saw me do earlier, which didn''t find it, was fooled by the whitespace between # and define.) Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
iwj writes ("Re: [Xen-devel] build problem with new ioemu"):> Keir Fraser writes ("Re: [Xen-devel] build problem with new ioemu"): > > The old approach is better than linux/compiler.h since not all systems have > > that header (and if they do, may not define __user). > > Which systems don''t have <linux/compiler.h> ? Even my Debian sarge > box has it. (The egrep -R you saw me do earlier, which didn''t find > it, was fooled by the whitespace between # and define.)Never mind, Keir has answered me in person. I''ll commit the ugly workaround (= xen-unstable 11601). Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel