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

Re: [Xen-devel] I was able to cross-compile the hypervisor on an amd64 host for the aarch64 target ... However, I can't build the Xen toolset



Sent: Thursday, July 06, 2017 13:48
Sent: Thursday, July 06, 2017 12:26

> From: Julien Grall [mailto:julien.grall@xxxxxxx]
> Sent: Tuesday, July 04, 2017 09:47
> 
> On 07/04/2017 05:42 PM, Nick Garnett wrote:
>> I tried installing the tools with an ARM64 chroot also and had a 
>> similar issue.  In that case, the package "crossbuild_essential_arm64" 
>> wouldn't install because it depended on a package that was not installable.
> 
> I don't use crossbuild within the chroot. My chroot contains ARM64 binaries 
> only and QEMU is used to run ARM64 binaries.

In that case, you don't need to install crossbuild_essential_arm64. 
Compiling in that chroot is like compiling directly on an ARM platforms.

My runes are usually:

./configure
make -j install-tools

This will install the tools in /usr/local/

I think the list of dependencies on the CrossCompiling page is still valid:

https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/CrossCompiling#Configuring_an_arm64_crossbuild_chroot

____________________________________________________________________________________
[nickgarnett:170706-1225PDT]
Julian, you state:
        In that case, you don't need to install crossbuild_essential_arm64. 
        Compiling in that chroot is like compiling directly on an ARM platform.

I assume you mean if I use crossbuild it would be "like compiling directly on 
an ARM platform".  Correct?

What should I do (or not do), following the HOWTO in 
"https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/CrossCompiling";?
        Should I use "multiarch"?

____________________________________________________________________________________
[nickgarnett:170706-1345PDT]
Following the HOWTO 
"https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/CrossCompiling";,
 resulted in the following error in the "apt-get update" step:

        #created the chroot and fixed the chroot.d descriptor file

        (zesty-arm64-cross)root# apt-get install vim-tiny wget sudo less 
pkgbinarymangler

        #(zesty-arm64-cross)root# vi /etc/apt/sources.list
        # added ...
        #deb [arch=arm64] http://ports.ubuntu.com/ saucy main universe

        #Since this is a cross-build chroot Recommended and Suggested packages 
are largely unnecessary, 
        # created /etc/apt/apt.conf.d/30norecommends containing: 
        #APT::Install-Recommends "0";
        #APT::Install-Suggests "0";

        (zesty-arm64-cross)root# dpkg --add-architecture arm64
        (zesty-arm64-cross)root# apt-get update

        Resulted in:
        Err:3 http://archive.ubuntu.com/ubuntu zesty/main arm64 Packages
          404  Not Found [IP: 91.189.88.149 80]
        Ign:5 http://archive.ubuntu.com/ubuntu zesty/universe arm64 Packages
        Reading package lists... Done       
        E: Failed to fetch 
http://archive.ubuntu.com/ubuntu/dists/zesty/main/binary-arm64/Packages  
                404  Not Found [IP: 91.189.88.149 80]
        E: Some index files failed to download. They have been ignored, or old 
ones used instead.
____________________________________________________________________________________
[nickgarnett:170706-1555PDT]

Got "configure: error: ./configure: line 6930: /usr/bin/python: cannot execute 
binary file: Exec format error is too old, minimum required version is 2.3"
         ./configure --host=aarch64-linux-gnu                
        checking build system type... x86_64-unknown-linux-gnu
        checking host system type... aarch64-unknown-linux-gnu
        Will build the following subsystems:
          xen
          tools
          docs
        configure: creating ./config.status
        config.status: creating config/Toplevel.mk
        config.status: creating config/Paths.mk
        === configuring in tools (/home/nick/xen-4.9.0/tools)
        configure: running /bin/bash ./configure --disable-option-checking 
'--prefix=/usr/local'  
                '--host=aarch64-linux-gnu' 'host_alias=aarch64-linux-gnu' 
--cache-file=/dev/null --srcdir=.
        checking build system type... x86_64-unknown-linux-gnu
        checking host system type... aarch64-unknown-linux-gnu
        checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-gcc
        checking whether the C compiler works... yes
        checking for C compiler default output file name... a.out
        checking for suffix of executables... 
        checking whether we are cross compiling... yes
        checking for suffix of object files... o
        checking whether we are using the GNU C compiler... yes
        checking whether aarch64-linux-gnu-gcc accepts -g... yes
        checking for aarch64-linux-gnu-gcc option to accept ISO C89... none 
needed
        checking for special C compiler options needed for large files... no
        checking for _FILE_OFFSET_BITS value needed for large files... no
        checking for aarch64-linux-gnu-gcc... (cached) aarch64-linux-gnu-gcc
        checking whether we are using the GNU C compiler... (cached) yes
        checking whether aarch64-linux-gnu-gcc accepts -g... (cached) yes
        checking for aarch64-linux-gnu-gcc option to accept ISO C89... (cached) 
none needed
        checking whether make sets $(MAKE)... yes
        checking for a BSD-compatible install... /usr/bin/install -c
        checking for bison... no
        checking for flex... no
        checking for perl... /usr/bin/perl
        checking for awk... /usr/bin/awk
        checking for aarch64-linux-gnu-ocamlc... no
        checking for ocamlc... no
        checking for aarch64-linux-gnu-ocaml... no
        checking for ocaml... no
        checking for aarch64-linux-gnu-ocamldep... no
        checking for ocamldep... no
        checking for aarch64-linux-gnu-ocamlmktop... no
        checking for ocamlmktop... no
        checking for aarch64-linux-gnu-ocamlmklib... no
        checking for ocamlmklib... no
        checking for aarch64-linux-gnu-ocamldoc... no
        checking for ocamldoc... no
        checking for aarch64-linux-gnu-ocamlbuild... no
        checking for ocamlbuild... no
        checking for aarch64-linux-gnu-ocamlfind... no
        checking for ocamlfind... no
        checking for gawk... /usr/bin/awk
        checking for aarch64-linux-gnu-checkpolicy... no
        checking for checkpolicy... no
        checking for bash... /bin/bash
        checking for python... /usr/bin/python
        checking for python version >= 2.3 ... ./configure: line 6927: 
/usr/bin/python: cannot execute binary file: Exec format error
        no
        configure: error: ./configure: line 6930: /usr/bin/python: cannot 
execute binary file: Exec format error is too old, minimum required version is 
2.3
        configure: error: ./configure failed for tools



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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