From: Jan Kiszka <jan.kiszka@siemens.com>
To: Alexander Smirnov <asmirnov@ilbers.de>, isar-users@googlegroups.com
Subject: Re: [PATCH v3 0/7] Isar cross-compilation support
Date: Tue, 17 Jul 2018 21:45:00 +0200 [thread overview]
Message-ID: <1ed1ad84-acaf-1aa9-0ac7-f2f1353670ab@siemens.com> (raw)
In-Reply-To: <507beff8-3503-22a9-c3f6-0a01f3f7a132@ilbers.de>
On 2018-07-17 17:41, Alexander Smirnov wrote:
>
>
> On 07/17/2018 04:38 PM, Jan Kiszka wrote:
>> On 2018-07-17 15:18, Alexander Smirnov wrote:
>>> Hi everybody,
>>>
>>> sorry for the delay, this is the third version of cross-compilation
>>> support for Isar.
>>>
>>
>> Thanks for the update!
>>
>>> Supported targets for cross-compilation:
>>> - stretch armhf
>>> - stretch amd64
>>>
>>> Artifacts could be cross-compiled:
>>> - dpkg.bbclass users
>>> - dpkg-raw.bbclass users
>>> - kernel
>>>
>>> Known issues:
>>> - if target and host architectures are the same, there is no need
>>> to use host buildchroot.
>>> - kernel module doesn't support cross-compilation. Default
>>> linux-headers
>>> package depends from target gcc binaries. So attempt to install, for
>>> example linux-headers-armmp, tries to install gcc:armhf, what rises
>>> conflict with the host tools.
>>
>> Could you imagine overriding such specialties with extra rules, even if
>> package specific? Not having kernel module in the cross compilation
>> chain main cause troubles (or does it work fine to cross-build the
>> kernel and then natively build the modules?).
>
> What I'd like to try:
> 1. Add ARM defconfig for linux-cip
> 2. Try to build example module for linux-cip for armhf
>
> Regarding overriding default Debian kernel, ATM I don't see any
> possibilities. Just as an exercise - I tried to install
> linux-headers-armmp:
>
> $ sudo dpkg --add-architecture armhf
> $ sudo apt-get update
> $ sudo apt-get install linux-headers-armmp
>
> No chances here, this package pulls lots of armhf binaries that conflict
> with the host ones. The only way I see now is to manually fetch and
> unpack this package. But it's an ugly hack IMHO :-(
But maybe we can resolve that issue for self-built kernel by providing
also a compatible headers package?
>
> Regarding hybrid mode (apps and kernel are compiled cross, modules are
> compiled natively) - this works. You could check this by trying
> cross-build for qemuarm-stretch, for example.
I suppose to opt-out a package from cross-building, I need to add
ISAR_CROSS_COMPILE = "0" to its recipe, right? Currently trying... no:
| Broken jailhouse-build-deps:arm64 Depends on
linux-headers-jailhouse-arm64:arm64 < none @un H >
| Removing jailhouse-build-deps:arm64 because I can't find
linux-headers-jailhouse-arm64:arm64
The problem seems to be that the header package is generate as :amd64,
so I can't install it into the arm64 buildchroot. However, the cross
build also fails because it searches for :arm64 as well:
| Broken jailhouse-cross-build-deps:arm64 Depends on
linux-headers-jailhouse-arm64:arm64 < none @un H >
| Removing jailhouse-cross-build-deps:arm64 because I can't find
linux-headers-jailhouse-arm64:arm64
By requesting :amd64 versions of the header as well as some python deps,
I'm getting further and then fail differently:
| dpkg-architecture: warning: specified GNU system type
aarch64-linux-gnu does not match CC system type x86_64-linux-gnu, try
setting a correct CC environment variable
| dpkg-source --before-build git
| dpkg-buildpackage: info: host architecture arm64
| dpkg-checkbuilddeps: error: Unmet build dependencies: python-pip:amd64
python-setuptools:amd64 python-mako:amd64
"host architecture arm64", that is suspicious...
And then python - I'm still facing that issue with another package as well:
| Setting up python2.7-minimal:arm64 (2.7.13-2+deb9u2) ...
| /var/lib/dpkg/info/python2.7-minimal.postinst: 42:
/var/lib/dpkg/info/python2.7-minimal.postinst: python2.7: not found
| dpkg: error processing package python2.7-minimal:arm64 (--configure):
| subprocess installed post-installation script returned error exit
status 127
| dpkg: dependency problems prevent configuration of python-minimal:arm64:
| python-minimal:arm64 depends on python2.7-minimal (>= 2.7.13-1~);
however:
| Package python2.7-minimal:arm64 is not configured yet.
|
| dpkg: error processing package python-minimal:arm64 (--configure):
| dependency problems - leaving unconfigured
| Errors were encountered while processing:
| python2.7-minimal:arm64
| python-minimal:arm64
| E: Sub-process /usr/bin/dpkg returned an error code (1)
Corresponding build dependencies there:
Build-Depends: wget, cpio, unzip, rsync, python, bc
Here I get my job done by hacking it this way:
Build-Depends: wget, cpio, unzip, rsync, python:amd64, bc
Jan
next prev parent reply other threads:[~2018-07-17 19:45 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-17 13:18 Alexander Smirnov
2018-07-17 13:18 ` [PATCH v3 1/7] isar-bootstrap: Update routine to determine host arch Alexander Smirnov
2018-07-17 13:18 ` [PATCH v3 2/7] buildchroot: Split generic part Alexander Smirnov
2018-07-17 13:18 ` [PATCH v3 3/7] buildchroot: Add host buildchroot Alexander Smirnov
2018-07-17 19:48 ` Jan Kiszka
2018-07-17 13:18 ` [PATCH v3 4/7] isar-bootstrap-helper: Add target architecture for dpkg Alexander Smirnov
2018-07-17 13:18 ` [PATCH v3 5/7] build.sh: Add additional parameter Alexander Smirnov
2018-07-17 13:18 ` [PATCH v3 6/7] cross-compilation: Introduce variable switch Alexander Smirnov
2018-07-17 13:18 ` [PATCH v3 7/7] linux: Add cross-compilation support Alexander Smirnov
2018-07-17 13:38 ` [PATCH v3 0/7] Isar " Jan Kiszka
2018-07-17 14:40 ` Jan Kiszka
2018-07-17 15:06 ` Alexander Smirnov
2018-07-17 15:18 ` Alexander Smirnov
2018-07-17 15:24 ` Jan Kiszka
2018-07-17 15:29 ` Alexander Smirnov
2018-07-17 15:41 ` Alexander Smirnov
2018-07-17 19:45 ` Jan Kiszka [this message]
2018-07-17 20:48 ` Alexander Smirnov
2018-07-18 7:06 ` Jan Kiszka
2018-07-18 8:19 ` Jan Kiszka
2018-07-18 8:37 ` Jan Kiszka
2018-07-18 18:52 ` Alexander Smirnov
2018-07-18 19:00 ` Jan Kiszka
2018-07-19 20:59 ` Alexander Smirnov
2018-07-20 5:56 ` Jan Kiszka
2018-07-22 20:15 ` Alexander Smirnov
2018-07-22 20:32 ` Alexander Smirnov
2018-07-22 21:54 ` Jan Kiszka
2018-07-23 6:55 ` Jan Kiszka
2018-07-24 8:21 ` Jan Kiszka
2018-07-22 21:40 ` Jan Kiszka
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=1ed1ad84-acaf-1aa9-0ac7-f2f1353670ab@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=asmirnov@ilbers.de \
--cc=isar-users@googlegroups.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox