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

Re: [Xen-devel] Hypervisor build can't work without `python` (Was: Re: Xen commit 9b0bc91b3 possibly removed too much info from README)



On Fri, 19 Apr 2019 at 14:07, Kevin Buckley
<kevin.buckley.ecs.vuw.ac.nz@xxxxxxxxx> wrote:
>
> I am actually thinking of installing a Python 2 and making the link to
> the bare /usr/bin/python point to that, just to see if I can get things
> to build.

So I did that and the hypervisor, tools and docs were all built
and installed as expected.

I have since gone back, removed all traces of Pythin 2 and
performed the same build but against Python 3, as follows
though recall that I am building this in a fairly basic LFS
system and so don't have Git, nor connectivty to the
QEMU Git repository.


Mimic the cloning of the QEMU Git repo external to the
LFS system and create a tar-ball for use inside LFS using
the script from the Xen tar-ball.


GIT=git scripts/git-checkout.sh git://xenbits.xen.org/qemu-xen.git
master qemu-xen-dir
cd qemu-xen-dir-remote/

git submodule init

git submodule update dtc
git submodule update capstone/
git submodule update ui/keycodemapdb

cd ..

tar cf qemu-xen-dir-de5b678ca-sub.tar qemu-xen-dir-remote
bzip2 -9 qemu-xen-dir-de5b678ca-sub.tar


Once inside the LFS system


tar xf $XTRASRC/xen-cb70a26.tar.bz2
tar xf $XTRASRC/qemu-xen-dir-de5b678ca-sub.tar.bz2
cd xen-master

As well as providing a bare "python" so that scripts within
the sources that have such a hash-bang, I found that I also
had to override things for the configure to complete:

ln -s python3 /usr/bin/python

PYTHON=/usr/bin/python3 \
  ./configure --prefix=/usr    \
  --disable-seabios          \
  --disable-qemu-traditional \
  --disable-rombios          \
  --disable-stubdom 2>&1 | tee ../config.log


Issuing a "make world" here clobbers four directories

 doc/man[1,5,7,8}

in the "make clean" that don't appear to be re-created
during the "make dist", so those two makes" were done
sperately so as to provide an opportunity to re-create
those directories

Note also that on an LFS system, which is 64-bit by default,
there is no /usr/lib64, a subdir of which would be the default
target for Xen's EFI_DIR variable.


make clean

mkdir docs/man1 docs/man5 docs/man7 docs/man8

make \
  PYTHON=/usr/bin/python3 \
  EFI_DIR=/usr/lib/efi \
  QEMU_UPSTREAM_LOC=/usr/src/xen/qemu-xen-dir-remote \
    dist    2>&1 | tee ../make-dist.log

make \
  PYTHON=/usr/bin/python3 \
  EFI_DIR=/usr/lib/efi \
  QEMU_UPSTREAM_LOC=/usr/src/xen/qemu-xen-dir-remote \
    install 2>&1 | tee ../make-install.log


This appears to build and install the Xen hypervisor and
the tools and docs as expected.

I have noticed that installed files such as pygrub do have
a hash-bang line that explcitly specifies /usr/bin/python3,
so it would appear to have done the right thing as regards
what it does with the user's overriding of "PYTHON".

Hope that's of some (more) use,
Kevin

PS

I'll flag up the internal doc directory clobbering in a seperate
thread.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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