All of lore.kernel.org
 help / color / mirror / Atom feed
* xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
@ 2011-01-13 22:54 M A Young
  2011-01-14  8:03 ` Ian Campbell
  2011-01-17 17:55 ` Ian Jackson
  0 siblings, 2 replies; 10+ messages in thread
From: M A Young @ 2011-01-13 22:54 UTC (permalink / raw)
  To: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-13 22:54 xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory M A Young
@ 2011-01-14  8:03 ` Ian Campbell
  2011-01-14 21:20   ` M A Young
  2011-01-17 17:55 ` Ian Jackson
  1 sibling, 1 reply; 10+ messages in thread
From: Ian Campbell @ 2011-01-14  8:03 UTC (permalink / raw)
  To: M A Young; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-14  8:03 ` Ian Campbell
@ 2011-01-14 21:20   ` M A Young
  0 siblings, 0 replies; 10+ messages in thread
From: M A Young @ 2011-01-14 21:20 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-13 22:54 xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory M A Young
  2011-01-14  8:03 ` Ian Campbell
@ 2011-01-17 17:55 ` Ian Jackson
  2011-01-25 22:07   ` M A Young
  1 sibling, 1 reply; 10+ messages in thread
From: Ian Jackson @ 2011-01-17 17:55 UTC (permalink / raw)
  To: M A Young; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-17 17:55 ` Ian Jackson
@ 2011-01-25 22:07   ` M A Young
  2011-01-26 11:42     ` Ian Jackson
  0 siblings, 1 reply; 10+ messages in thread
From: M A Young @ 2011-01-25 22:07 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-25 22:07   ` M A Young
@ 2011-01-26 11:42     ` Ian Jackson
  2011-01-26 23:33       ` M A Young
  0 siblings, 1 reply; 10+ messages in thread
From: Ian Jackson @ 2011-01-26 11:42 UTC (permalink / raw)
  To: M A Young; +Cc: xen-devel

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.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-26 11:42     ` Ian Jackson
@ 2011-01-26 23:33       ` M A Young
  2011-01-27 19:42         ` Ian Jackson
  0 siblings, 1 reply; 10+ messages in thread
From: M A Young @ 2011-01-26 23:33 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-26 23:33       ` M A Young
@ 2011-01-27 19:42         ` Ian Jackson
  2011-01-27 20:21           ` M A Young
  0 siblings, 1 reply; 10+ messages in thread
From: Ian Jackson @ 2011-01-27 19:42 UTC (permalink / raw)
  To: M A Young; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-27 19:42         ` Ian Jackson
@ 2011-01-27 20:21           ` M A Young
  2011-01-28 11:43             ` Ian Jackson
  0 siblings, 1 reply; 10+ messages in thread
From: M A Young @ 2011-01-27 20:21 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory
  2011-01-27 20:21           ` M A Young
@ 2011-01-28 11:43             ` Ian Jackson
  0 siblings, 0 replies; 10+ messages in thread
From: Ian Jackson @ 2011-01-28 11:43 UTC (permalink / raw)
  To: M A Young; +Cc: xen-devel

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.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-01-28 11:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-13 22:54 xen 4.1.0 rc1 build problem for local CONFIG_QEMU directory M A Young
2011-01-14  8:03 ` Ian Campbell
2011-01-14 21:20   ` M A Young
2011-01-17 17:55 ` Ian Jackson
2011-01-25 22:07   ` M A Young
2011-01-26 11:42     ` Ian Jackson
2011-01-26 23:33       ` M A Young
2011-01-27 19:42         ` Ian Jackson
2011-01-27 20:21           ` M A Young
2011-01-28 11:43             ` Ian Jackson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.