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

[Xen-devel] Help with 3.4.x compilation problem

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Help with 3.4.x compilation problem
From: Mick Jordan <mick.jordan@xxxxxxxxxx>
Date: Wed, 28 Apr 2010 18:11:29 -0700
Cc: Derek.Murray@xxxxxxxxxxxx
Delivery-date: Wed, 28 Apr 2010 18:12:20 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.23 (X11/20090910)
I am having a problem compiling a tools component of my variant of mini-os against a 3.4.x source tree, having recently migrated from 3.1.4. The problem lies in the header file xenctrl.h, which contains this (new from 3.1.4) code:

#if defined(__i386__) || defined(__x86_64__)
#include <xen/foreign/x86_32.h>
#include <xen/foreign/x86_64.h>
#endif

Now, this look extremely dubious to me as both 32 and 64 bit headers are not usually included at the same time, but the immediate problem is that the headers cannot be found:

[ -e xen ] || ln -sf /import/xen/xen-3.4.2/xen/include/public xen
gcc -DPIC -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .db-xenbus.opic.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Werror -Wno-unused -fno-strict-aliasing -I /import/xen/xen-3.4.2/tools/libxc -I /import/xen/xen-3.4.2/tools/xenstore -I. -D_GNU_SOURCE -Wp,-MD,.db-xenbus.opic.d -fPIC -c -o db-xenbus.opic db-xenbus.c gcc -DPIC -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .db-frontend.opic.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Werror -Wno-unused -fno-strict-aliasing -I /import/xen/xen-3.4.2/tools/libxc -I /import/xen/xen-3.4.2/tools/xenstore -I. -D_GNU_SOURCE -Wp,-MD,.db-frontend.opic.d -fPIC -c -o db-frontend.opic db-frontend.c
In file included from db-frontend.c:42:
/import/xen/xen-3.4.2/tools/libxc/xenctrl.h:36:32: error: xen/foreign/x86_32.h: No such file or directory /import/xen/xen-3.4.2/tools/libxc/xenctrl.h:37:32: error: xen/foreign/x86_64.h: No such file or directory

I've searched the source tree and indeed cannot find any directory named foreign. However, I can find some directories containing the pattern foreign, e.g., tools/include/xen-foreign, so I am guessing that some symbolic link hackery is done in a normal build that sets this up. I say "normal" because, for various reasons, I do not build my mini-os variant inside the Xen tree but rather refer to it via an environment variable. This worked fine in 3.1.4.

Times like this I wish there was a developer's manual.

Thanks for any help.

Mick




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

<Prev in Thread] Current Thread [Next in Thread>