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