[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen-unstable: build fails


  • To: Keir Fraser <keir.xen@xxxxxxxxx>
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
  • Date: Thu, 17 Mar 2011 06:52:55 +0100
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 16 Mar 2011 22:53:32 -0700
  • Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Received:Message-ID:Date:From:Organization: User-Agent:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=TAVeSsOZkn4eKVnqHf18JHUi37hzJ0ZDvKvXLGFzcUi9YH2yogvLjeNi 8T8TCtUeGPsEkAExXUMHZ0wfucPEpvfIPwBXdNTBAKNAs7SWd07Q9YnB/ kZYVeALHw9JMlMxqWtqmHhW4WyEDJOn6OWtsHM1nscYt8f5N4Nu9EM4Gr Epw2hvEYze11VmF6SDogz/ntx7+7eXVKtp4upCKh1Aabbw7fyGP89K07U oSo5YiAWZ5a/CHKaQZPaedKqT6eHe;
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On 03/16/11 17:50, Keir Fraser wrote:
On 16/03/2011 13:50, "Juergen Gross"<juergen.gross@xxxxxxxxxxxxxx>  wrote:

Hi,

I've just set up a machine with OpenSuse 11.4 and tried to build Xen.

Under root I did:

hg clone http://xenbits.xensource.com/xen-unstable.hg
cd xen-unstable.hg
make xen

The make failed with:

make[4]: Entering directory `/root/xen-unstable.hg/xen/arch/x86/boot'
RELOC=0x7c000 make -f build32.mk reloc.S
make[5]: Entering directory `/root/xen-unstable.hg/xen/arch/x86/boot'
make[5]: *** ../../../../.config: Is a directory.  Stop.

Seems to me that /root/xen-unstable.hg/xen/arch/x86/boot/../../../../.config
resolves to /root/xen-unstable.hg/.config. Which is what is intended. Also I
tried creating a .config dir just outside my own xen-unstable repo, and
rebuoilding the hypervisor, and it works okay for me.

Okay, I checked it.
My build environment is under /root/xen-unstable.hg
I have .config directories in / and in /root
I created .config files on another machine without those directories in / and
in /root with a make error statement indicating which file is used:

make[4]: Entering directory `/root/xen-unstable.hg/xen/arch/x86/boot'
RELOC=0x7c000 make -f build32.mk reloc.S
make[5]: Entering directory `/root/xen-unstable.hg/xen/arch/x86/boot'
../../../../.config:1: *** error form /.config.  Stop.
make[5]: Leaving directory `/root/xen-unstable.hg/xen/arch/x86/boot'
make[4]: *** [reloc.S] Error 2
make[4]: Leaving directory `/root/xen-unstable.hg/xen/arch/x86/boot'
make[3]: *** [/root/xen-unstable.hg/xen/arch/x86/boot/built_in.o] Error 2
make[3]: Leaving directory `/root/xen-unstable.hg/xen/arch/x86'
make[2]: *** [/root/xen-unstable.hg/xen/xen] Error 2
make[2]: Leaving directory `/root/xen-unstable.hg/xen'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/root/xen-unstable.hg/xen'
make: *** [install-xen] Error 2


The reason is clear: XEN_ROOT is set to a *relative* path. And when make is
including a Makefile, it switches the working directory to the directory of
the included Makefile. Including another Makefile via XEN_ROOT then is the
problem...


The reason seems to be a directory /root/.config which isn't present on my
other machines.

We shouldn't be referring outside the repository. AFAICS the above logging
doesn't indicate that we are. I don't understand why you are getting that
error. I haven't been able to reproduce it.

I have :-(


fails in a similar way. Many Makefiles seem to contain lines like:

XEN_ROOT=../..

which is a really bad idea in my opinion. XEN_ROOT should only be set, if it
is not yet defined.

Why? It's private to our build system. We don't want the user screwing with
it. I also don't see why relative paths within our repository should be
avoided, as you try to do in your alternative formulation.

You have to avoid relative paths in make variables used in different directory
levels.


Juergen

--
Juergen Gross                 Principal Developer Operating Systems
TSP ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@xxxxxxxxxxxxxx
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.