All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.