From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: xen-devel@lists.xenproject.org,
Julien Grall <julien.grall@arm.com>,
Kevin Buckley <kevin.buckley.ecs.vuw.ac.nz@gmail.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Jan Beulich <JBeulich@suse.com>
Subject: Re: Hypervisor build can't work without `python` (Was: Re: Xen commit 9b0bc91b3 possibly removed too much info from README)
Date: Wed, 17 Apr 2019 12:15:04 +0100 [thread overview]
Message-ID: <a3576f49-eebc-6684-d043-b9511895cf1a@citrix.com> (raw)
In-Reply-To: <20190417110356.GT30543@zion.uk.xensource.com>
On 17/04/2019 12:03, Wei Liu wrote:
> On Wed, Apr 17, 2019 at 11:58:49AM +0100, Andrew Cooper wrote:
>> On 17/04/2019 11:57, Wei Liu wrote:
>>> On Wed, Apr 17, 2019 at 11:44:36AM +0100, Andrew Cooper wrote:
>>>> On 17/04/2019 11:41, Wei Liu wrote:
>>>>> On Wed, Apr 17, 2019 at 10:56:57AM +0100, Wei Liu wrote:
>>>>>>> Here's what i did having pulled the master at commit cb70a26
>>>>>>>
>>>>>>> tar xf /path/to/xen-cb70a26.tar.gz
>>>>>>>
>>>>>>> cd xen-master/
>>>>>>>
>>>>>>> PYTHON=/usr/bin/python3 ./configure --prefix=/usr \
>>>>>>> --disable-seabios \
>>>>>>> --disable-qemu-traditional \
>>>>>>> --disable-rombios \
>>>>>>> --disable-stubdom 2>&1 | tee ../config.log
>>>>>>>
>>>>>>> make EFI_DIR=/usr/lib/efi world 2>&1 | tee ../make_world_3.out
>>>>>>>
>>>>>>>
>>>>>>> ...
>>>>>>> gcc -Wp,-MD,tools/kconfig/.zconf.tab.o.d -D_GNU_SOURCE
>>>>>>> -D_DEFAULT_SOURCE -DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1
>>>>>>> -DLOCALE -Itools/kconfig -c -o tools/kconfig/zconf.tab.o
>>>>>>> tools/kconfig/zconf.tab.c
>>>>>>> gcc -o tools/kconfig/conf tools/kconfig/conf.o tools/kconfig/zconf.tab.o
>>>>>>> tools/kconfig/conf -s --silentoldconfig Kconfig
>>>>>>> make[3]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make -f Rules.mk _install
>>>>>>> make[3]: Entering directory '/usr/src/xen/xen-master/xen'
>>>>>>> make -C tools
>>>>>>> make[4]: Entering directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> make symbols
>>>>>>> make[5]: Entering directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
>>>>>>> -fno-strict-aliasing -Wdeclaration-after-statement -o symbols
>>>>>>> symbols.c
>>>>>>> make[5]: Leaving directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> make[4]: Leaving directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> make -f /usr/src/xen/xen-master/xen/Rules.mk include/xen/compile.h
>>>>>>> make[4]: Entering directory '/usr/src/xen/xen-master/xen'
>>>>>>> Xen 4.13-unstable
>>>>>>> /bin/sh: python: command not found
>>>>>>> make[4]: *** [Makefile:169: include/xen/compile.h] Error 127
>>>>>> Here. The PYTHON invocation is from the hypervisor build, not the tools
>>>>>> build.
>>>>>>
>>>>>> Thanks for the log. I will have a closer look.
>>>>>>
>>>>>>> make[4]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make[3]: *** [Makefile:137: /usr/src/xen/xen-master/xen/xen] Error 2
>>>>>>> make[3]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make[2]: *** [Makefile:45: install] Error 2
>>>>>>> make[2]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make[1]: *** [Makefile:123: install-xen] Error 2
>>>>>>> make[1]: Leaving directory '/usr/src/xen/xen-master'
>>>>>>> make: *** [Makefile:165: world] Error 2
>>>>>>>
>>>>>>>
>>>>>>> Note the
>>>>>>>
>>>>>>> /bin/sh: python: command not found
>>>>>>>
>>>>> The issue here is on LFS there is no /usr/bin/python. So the hypervisor
>>>>> build is broken because xen/include/compile.h invokes
>>>>>
>>>>> @$(PYTHON) tools/fig-to-oct.py < .banner >> $@.new
>>>>>
>>>>> There are other appearances of PYTHON in hypervisor build, which are
>>>>> equally broken.
>>>>>
>>>>> We had / have a policy to avoid making hypervisor build dependent on
>>>>> configure. I have CC'ed more people on their opinions.
>>>> Where has $(PYTHON) got lost? It was specified correctly to begin with.
>>> Where is it specified?
>> Oh - I see now.
>>
>> It is specified for ./configure, but not for make.
> Right.
>
> It works for tools because tools build includes config/Tools.mk which
> contains the correct python path. Tools.mk is generated by configure.
>
> Obviously hypervisor build shouldn't include Tools.mk. Furthermore, the
> policy of "hv shouldn't depend on configure" makes this route a no-go.
>
> Either we change the policy, or we document the deficiency, or we come
> up with some clever trick to probe.
Given the shebang in all of our scripts, would `env python` be
sufficiently clever trickery, or is that a can of worms we'd prefer not
to open?
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: xen-devel@lists.xenproject.org,
Julien Grall <julien.grall@arm.com>,
Kevin Buckley <kevin.buckley.ecs.vuw.ac.nz@gmail.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] Hypervisor build can't work without `python` (Was: Re: Xen commit 9b0bc91b3 possibly removed too much info from README)
Date: Wed, 17 Apr 2019 12:15:04 +0100 [thread overview]
Message-ID: <a3576f49-eebc-6684-d043-b9511895cf1a@citrix.com> (raw)
Message-ID: <20190417111504.uveafIWiL4lm6FoGYZvF8M8LWZ3IvH54fvv8WB_9z_s@z> (raw)
In-Reply-To: <20190417110356.GT30543@zion.uk.xensource.com>
On 17/04/2019 12:03, Wei Liu wrote:
> On Wed, Apr 17, 2019 at 11:58:49AM +0100, Andrew Cooper wrote:
>> On 17/04/2019 11:57, Wei Liu wrote:
>>> On Wed, Apr 17, 2019 at 11:44:36AM +0100, Andrew Cooper wrote:
>>>> On 17/04/2019 11:41, Wei Liu wrote:
>>>>> On Wed, Apr 17, 2019 at 10:56:57AM +0100, Wei Liu wrote:
>>>>>>> Here's what i did having pulled the master at commit cb70a26
>>>>>>>
>>>>>>> tar xf /path/to/xen-cb70a26.tar.gz
>>>>>>>
>>>>>>> cd xen-master/
>>>>>>>
>>>>>>> PYTHON=/usr/bin/python3 ./configure --prefix=/usr \
>>>>>>> --disable-seabios \
>>>>>>> --disable-qemu-traditional \
>>>>>>> --disable-rombios \
>>>>>>> --disable-stubdom 2>&1 | tee ../config.log
>>>>>>>
>>>>>>> make EFI_DIR=/usr/lib/efi world 2>&1 | tee ../make_world_3.out
>>>>>>>
>>>>>>>
>>>>>>> ...
>>>>>>> gcc -Wp,-MD,tools/kconfig/.zconf.tab.o.d -D_GNU_SOURCE
>>>>>>> -D_DEFAULT_SOURCE -DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1
>>>>>>> -DLOCALE -Itools/kconfig -c -o tools/kconfig/zconf.tab.o
>>>>>>> tools/kconfig/zconf.tab.c
>>>>>>> gcc -o tools/kconfig/conf tools/kconfig/conf.o tools/kconfig/zconf.tab.o
>>>>>>> tools/kconfig/conf -s --silentoldconfig Kconfig
>>>>>>> make[3]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make -f Rules.mk _install
>>>>>>> make[3]: Entering directory '/usr/src/xen/xen-master/xen'
>>>>>>> make -C tools
>>>>>>> make[4]: Entering directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> make symbols
>>>>>>> make[5]: Entering directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
>>>>>>> -fno-strict-aliasing -Wdeclaration-after-statement -o symbols
>>>>>>> symbols.c
>>>>>>> make[5]: Leaving directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> make[4]: Leaving directory '/usr/src/xen/xen-master/xen/tools'
>>>>>>> make -f /usr/src/xen/xen-master/xen/Rules.mk include/xen/compile.h
>>>>>>> make[4]: Entering directory '/usr/src/xen/xen-master/xen'
>>>>>>> Xen 4.13-unstable
>>>>>>> /bin/sh: python: command not found
>>>>>>> make[4]: *** [Makefile:169: include/xen/compile.h] Error 127
>>>>>> Here. The PYTHON invocation is from the hypervisor build, not the tools
>>>>>> build.
>>>>>>
>>>>>> Thanks for the log. I will have a closer look.
>>>>>>
>>>>>>> make[4]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make[3]: *** [Makefile:137: /usr/src/xen/xen-master/xen/xen] Error 2
>>>>>>> make[3]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make[2]: *** [Makefile:45: install] Error 2
>>>>>>> make[2]: Leaving directory '/usr/src/xen/xen-master/xen'
>>>>>>> make[1]: *** [Makefile:123: install-xen] Error 2
>>>>>>> make[1]: Leaving directory '/usr/src/xen/xen-master'
>>>>>>> make: *** [Makefile:165: world] Error 2
>>>>>>>
>>>>>>>
>>>>>>> Note the
>>>>>>>
>>>>>>> /bin/sh: python: command not found
>>>>>>>
>>>>> The issue here is on LFS there is no /usr/bin/python. So the hypervisor
>>>>> build is broken because xen/include/compile.h invokes
>>>>>
>>>>> @$(PYTHON) tools/fig-to-oct.py < .banner >> $@.new
>>>>>
>>>>> There are other appearances of PYTHON in hypervisor build, which are
>>>>> equally broken.
>>>>>
>>>>> We had / have a policy to avoid making hypervisor build dependent on
>>>>> configure. I have CC'ed more people on their opinions.
>>>> Where has $(PYTHON) got lost? It was specified correctly to begin with.
>>> Where is it specified?
>> Oh - I see now.
>>
>> It is specified for ./configure, but not for make.
> Right.
>
> It works for tools because tools build includes config/Tools.mk which
> contains the correct python path. Tools.mk is generated by configure.
>
> Obviously hypervisor build shouldn't include Tools.mk. Furthermore, the
> policy of "hv shouldn't depend on configure" makes this route a no-go.
>
> Either we change the policy, or we document the deficiency, or we come
> up with some clever trick to probe.
Given the shebang in all of our scripts, would `env python` be
sufficiently clever trickery, or is that a can of worms we'd prefer not
to open?
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-04-17 11:15 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-11 8:09 Xen commit 9b0bc91b3 possibly removed too much info from README Kevin Buckley
2019-04-11 8:09 ` [Xen-devel] " Kevin Buckley
2019-04-11 10:28 ` Wei Liu
2019-04-11 10:28 ` [Xen-devel] " Wei Liu
2019-04-13 3:17 ` Kevin Buckley
2019-04-13 3:17 ` [Xen-devel] " Kevin Buckley
2019-04-15 9:23 ` Wei Liu
2019-04-15 9:23 ` [Xen-devel] " Wei Liu
2019-04-15 9:36 ` Wei Liu
2019-04-15 9:36 ` [Xen-devel] " Wei Liu
2019-04-16 13:31 ` Kevin Buckley
2019-04-16 13:31 ` [Xen-devel] " Kevin Buckley
2019-05-13 13:40 ` Wei Liu
2019-05-13 13:40 ` [Xen-devel] " Wei Liu
2019-04-16 13:28 ` Kevin Buckley
2019-04-16 13:28 ` [Xen-devel] " Kevin Buckley
2019-04-17 9:56 ` Wei Liu
2019-04-17 9:56 ` [Xen-devel] " Wei Liu
2019-04-17 10:41 ` Hypervisor build can't work without `python` (Was: Re: Xen commit 9b0bc91b3 possibly removed too much info from README) Wei Liu
2019-04-17 10:41 ` [Xen-devel] " Wei Liu
2019-04-17 10:44 ` Andrew Cooper
2019-04-17 10:44 ` [Xen-devel] " Andrew Cooper
2019-04-17 10:57 ` Wei Liu
2019-04-17 10:57 ` [Xen-devel] " Wei Liu
2019-04-17 10:58 ` Andrew Cooper
2019-04-17 10:58 ` [Xen-devel] " Andrew Cooper
2019-04-17 11:01 ` Juergen Gross
2019-04-17 11:01 ` [Xen-devel] " Juergen Gross
2019-04-17 11:03 ` Wei Liu
2019-04-17 11:03 ` [Xen-devel] " Wei Liu
2019-04-17 11:15 ` Andrew Cooper [this message]
2019-04-17 11:15 ` Andrew Cooper
2019-04-17 11:16 ` Wei Liu
2019-04-17 11:16 ` [Xen-devel] " Wei Liu
2019-04-17 11:23 ` Andrew Cooper
2019-04-17 11:23 ` [Xen-devel] " Andrew Cooper
2019-04-17 11:26 ` Wei Liu
2019-04-17 11:26 ` [Xen-devel] " Wei Liu
2019-04-17 11:43 ` Juergen Gross
2019-04-17 11:43 ` [Xen-devel] " Juergen Gross
2019-04-17 11:53 ` Andrew Cooper
2019-04-17 11:53 ` [Xen-devel] " Andrew Cooper
2019-04-17 12:44 ` Juergen Gross
2019-04-17 12:44 ` [Xen-devel] " Juergen Gross
2019-04-17 14:51 ` Wei Liu
2019-04-17 14:51 ` [Xen-devel] " Wei Liu
2019-04-19 6:07 ` Kevin Buckley
2019-04-19 6:07 ` [Xen-devel] " Kevin Buckley
2019-04-20 4:59 ` Kevin Buckley
2019-04-20 4:59 ` [Xen-devel] " Kevin Buckley
[not found] ` <584ACCED020000078E2C01CD@prv1-mh.provo.novell.com>
[not found] ` <D1DA3F7202000045A293CED3@prv1-mh.provo.novell.com>
[not found] ` <960CB533020000B48E2C01CD@prv1-mh.provo.novell.com>
[not found] ` <D1E23F7802000079A293CED3@prv1-mh.provo.novell.com>
[not found] ` <48D5F043020000E137554D14@prv1-mh.provo.novell.com>
[not found] ` <14AB34BE020000728E2C01CD@prv1-mh.provo.novell.com>
[not found] ` <9A8B94880200008537554D14@prv1-mh.provo.novell.com>
[not found] ` <A9FA5B7C02000009A293CED3@prv1-mh.provo.novell.com>
2019-04-25 11:32 ` Jan Beulich
2019-04-25 11:32 ` [Xen-devel] " Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a3576f49-eebc-6684-d043-b9511895cf1a@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=julien.grall@arm.com \
--cc=kevin.buckley.ecs.vuw.ac.nz@gmail.com \
--cc=sstabellini@kernel.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.