M A Young
2011-Jan-13 22:54 UTC
[Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
If you edit Config.mk by commenting CONFIG_QEMU ?= $(QEMU_REMOTE) and uncommenting CONFIG_QEMU ?= ../qemu-xen.git then the build fails with the error + test -d ../qemu-xen.git + mkdir -p ioemu-dir ... cd ioemu-dir; \ ../qemu-xen.git/xen-setup /bin/sh: line 4: ../qemu-xen.git/xen-setup: No such file or directory make[1]: *** [ioemu-dir-find] Error 1 The problem is that (in tools/Makefile) if CONFIG_QEMU is a directory (when tested from tools) then QEMU_ROOT is set to this. Then the script goes into the ioemu-dir directory and runs $(QEMU_ROOT)/xen-setup . Unfortunately QEMU_ROOT is relative to tools not tools/ioemu-dir and things break. If you hack around this by adding and extra ../ to QEMU_ROOT it fails later because symbolic links created later on such as ioemu-dir/i386-dm/Makefile don''t work. So far the only way I have found to get it to work properly is to set CONFIG_QEMU to an absolute directory (because I know what it will be) which isn''t portable. Michael Young _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Jan-14 08:03 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
On Thu, 2011-01-13 at 22:54 +0000, M A Young wrote:> If you edit Config.mk by commenting CONFIG_QEMU ?= $(QEMU_REMOTE) and > uncommenting CONFIG_QEMU ?= ../qemu-xen.git then the build fails with the > error > + test -d ../qemu-xen.git > + mkdir -p ioemu-dir > ... > cd ioemu-dir; \ > ../qemu-xen.git/xen-setup > /bin/sh: line 4: ../qemu-xen.git/xen-setup: No such file or directory > make[1]: *** [ioemu-dir-find] Error 1 > > The problem is that (in tools/Makefile) if CONFIG_QEMU is a directory > (when tested from tools) then QEMU_ROOT is set to this. Then the script > goes into the ioemu-dir directory and runs $(QEMU_ROOT)/xen-setup . > Unfortunately QEMU_ROOT is relative to tools not tools/ioemu-dir and > things break. If you hack around this by adding and extra ../ to QEMU_ROOT > it fails later because symbolic links created later on such as > ioemu-dir/i386-dm/Makefile don''t work. > > So far the only way I have found to get it to work properly is to set > CONFIG_QEMU to an absolute directory (because I know what it will be) > which isn''t portable.Perhaps you could/should use $(XEN_ROOT) and specify the path relative to it? Ian.> > Michael Young > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
M A Young
2011-Jan-14 21:20 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
On Fri, 14 Jan 2011, Ian Campbell wrote:>> The problem is that (in tools/Makefile) if CONFIG_QEMU is a directory >> (when tested from tools) then QEMU_ROOT is set to this. Then the script >> goes into the ioemu-dir directory and runs $(QEMU_ROOT)/xen-setup . >> Unfortunately QEMU_ROOT is relative to tools not tools/ioemu-dir and >> things break. If you hack around this by adding and extra ../ to QEMU_ROOT >> it fails later because symbolic links created later on such as >> ioemu-dir/i386-dm/Makefile don''t work. >> >> So far the only way I have found to get it to work properly is to set >> CONFIG_QEMU to an absolute directory (because I know what it will be) >> which isn''t portable. > > Perhaps you could/should use $(XEN_ROOT) and specify the path relative > to it?Unfortunately XEN_ROOT often gets reset to a relative location, and stubdom/Makefile requires it to be relative. The best way I have found so far is to add export XEN_ROOT_ABS=$(CURDIR) to the bottom level Makefile and then set CONFIG_QEMU ?= $(XEN_ROOT_ABS)/qemu-xen.git in Config.mk Michael Young _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Jan-17 17:55 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
M A Young writes ("[Xen-devel] xen 4.1.0 rc1 build problem for local
CONFIG_QEMU directory"):> The problem is that (in tools/Makefile) if CONFIG_QEMU is a directory
> (when tested from tools) then QEMU_ROOT is set to this. Then the script
> goes into the ioemu-dir directory and runs $(QEMU_ROOT)/xen-setup .
> Unfortunately QEMU_ROOT is relative to tools not tools/ioemu-dir and
> things break. If you hack around this by adding and extra ../ to QEMU_ROOT
> it fails later because symbolic links created later on such as
> ioemu-dir/i386-dm/Makefile don''t work.
Thanks. I have improved this.
Ian.
# HG changeset patch
# User Ian Jackson <Ian.Jackson@eu.citrix.com>
# Date 1295286912 0
# Node ID 654563af359ff8287419ee4f5248f236565542d1
# Parent 726c616fca5eead370ca29f733362d44fe413ca9
Config.mk: commented-out CONFIG_QEMU example now uses XEN_ROOT
If you actually set it to a relative path, the qemu build breaks.
So this commented-out rune (an example) should arrange to be absolute.
Reported-by: M A Young <m.a.young@durham.ac.uk>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
diff -r 726c616fca5e -r 654563af359f Config.mk
--- a/Config.mk Mon Jan 17 17:52:39 2011 +0000
+++ b/Config.mk Mon Jan 17 17:55:12 2011 +0000
@@ -182,7 +182,7 @@ endif
# Specify which qemu-dm to use. This may be `ioemu'' to use the old
# Mercurial in-tree version, or a local directory, or a git URL.
-# CONFIG_QEMU ?= ../qemu-xen.git
+# CONFIG_QEMU ?= $(XEN_ROOT)/../qemu-xen.git
CONFIG_QEMU ?= $(QEMU_REMOTE)
QEMU_TAG := xen-4.1.0-rc1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
M A Young
2011-Jan-25 22:07 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
On Mon, 17 Jan 2011, Ian Jackson wrote:> M A Young writes ("[Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory"): >> The problem is that (in tools/Makefile) if CONFIG_QEMU is a directory >> (when tested from tools) then QEMU_ROOT is set to this. Then the script >> goes into the ioemu-dir directory and runs $(QEMU_ROOT)/xen-setup . >> Unfortunately QEMU_ROOT is relative to tools not tools/ioemu-dir and >> things break. If you hack around this by adding and extra ../ to QEMU_ROOT >> it fails later because symbolic links created later on such as >> ioemu-dir/i386-dm/Makefile don''t work. > > Thanks. I have improved this.Except that (as I rather suspected) your version doesn''t work. If I try xen-4.1.0-rc2 and uncomment CONFIG_QEMU ?= $(XEN_ROOT)/../qemu-xen.git then (from tools/) it looks for the directory ../../qemu-xen.git (XEN_ROOT is ../ by this point), doesn''t find it and tries unsuccessfully to treat it as a git repository, then gives up. Michael Young _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Jan-26 11:42 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
M A Young writes ("Re: [Xen-devel] xen 4.1.0 rc1 build problem for local
CONFIG_QEMU directory"):> Except that (as I rather suspected) your version doesn''t work. If
I try
> xen-4.1.0-rc2 and uncomment
> CONFIG_QEMU ?= $(XEN_ROOT)/../qemu-xen.git
> then (from tools/) it looks for the directory ../../qemu-xen.git (XEN_ROOT
> is ../ by this point), doesn''t find it and tries unsuccessfully to
treat
> it as a git repository, then gives up.
Oh damn. Thanks for trying it.
Does
CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)
work ?
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
M A Young
2011-Jan-26 23:33 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
On Wed, 26 Jan 2011, Ian Jackson wrote:> M A Young writes ("Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory"): >> Except that (as I rather suspected) your version doesn''t work. If I try >> xen-4.1.0-rc2 and uncomment >> CONFIG_QEMU ?= $(XEN_ROOT)/../qemu-xen.git >> then (from tools/) it looks for the directory ../../qemu-xen.git (XEN_ROOT >> is ../ by this point), doesn''t find it and tries unsuccessfully to treat >> it as a git repository, then gives up. > > Oh damn. Thanks for trying it. > > Does > CONFIG_QEMU ?= `pwd`/$(XEN_ROOT) > work ?CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/qemu-xen.git does work. Michael Young _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Jan-27 19:42 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
M A Young writes ("Re: [Xen-devel] xen 4.1.0 rc1 build problem for local
CONFIG_QEMU directory"):> CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/qemu-xen.git does work.
Thanks. Evidently you have your qemu-xen.git in the xen-unstable.hg
toplevel; the example puts it in the parent.
# HG changeset patch
# User Ian Jackson <ian.jackson@eu.citrix.com>
# Date 1296157360 0
# Node ID e429b133278b37fbb22a9afc2230e35f4bfcb9f3
# Parent c80960244942ddd67595885354bfdc42d1562b22
Config.mk: commented-out CONFIG_QEMU example now uses `pwd`/$(XEN_ROOT)
If you actually set it to a relative path, the qemu build breaks.
So this commented-out rune (an example) should arrange to be absolute.
Unfortunately XEN_ROOT is itself relative so the previous attempt to
fix this (22772:654563af359f) didn''t work. So use `pwd`.
Tested-by: M A Young <m.a.young@durham.ac.uk>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
diff -r c80960244942 -r e429b133278b Config.mk
--- a/Config.mk Thu Jan 27 19:03:42 2011 +0000
+++ b/Config.mk Thu Jan 27 19:42:40 2011 +0000
@@ -182,7 +182,7 @@ endif
# Specify which qemu-dm to use. This may be `ioemu'' to use the old
# Mercurial in-tree version, or a local directory, or a git URL.
-# CONFIG_QEMU ?= $(XEN_ROOT)/../qemu-xen.git
+# CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
CONFIG_QEMU ?= $(QEMU_REMOTE)
QEMU_TAG := xen-4.1.0-rc2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
M A Young
2011-Jan-27 20:21 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
On Thu, 27 Jan 2011, Ian Jackson wrote:> M A Young writes ("Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory"): >> CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/qemu-xen.git does work. > > Thanks. Evidently you have your qemu-xen.git in the xen-unstable.hg > toplevel; the example puts it in the parent.I am putting it where I put it for previous xen versions, and where http://bits.xensource.com/oss-xen/release/4.0.1/xen-4.0.1.tar.gz puts it, in the top level of the unpacked source. I think your example puts it alongside the xen-4.x.x directory, which would make packaging more difficult. Michael Young _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Jan-28 11:43 UTC
Re: [Xen-devel] xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
M A Young writes ("Re: [Xen-devel] xen 4.1.0 rc1 build problem for local
CONFIG_QEMU directory"):> On Thu, 27 Jan 2011, Ian Jackson wrote:
> > M A Young writes ("Re: [Xen-devel] xen 4.1.0 rc1 build problem
for local CONFIG_QEMU directory"):
> >> CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/qemu-xen.git does work.
> >
> > Thanks. Evidently you have your qemu-xen.git in the xen-unstable.hg
> > toplevel; the example puts it in the parent.
>
> I am putting it where I put it for previous xen versions, and where
> http://bits.xensource.com/oss-xen/release/4.0.1/xen-4.0.1.tar.gz puts it,
> in the top level of the unpacked source. I think your example puts it
> alongside the xen-4.x.x directory, which would make packaging more
> difficult.
Ah, I see.
When I make the release tarball, I patch CONFIG_QEMU appropriately,
which doesn''t mean just uncommenting that setting. It''s just
an
example.
But, thanks.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel