public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
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: Wed, 18 Jul 2018 10:19:22 +0200	[thread overview]
Message-ID: <eb1cc596-732c-c45f-abb4-2636f9dbd94f@siemens.com> (raw)
In-Reply-To: <a3b21910-9edb-9b99-ab51-353eb61daf8c@siemens.com>

On 2018-07-18 09:06, Jan Kiszka wrote:
> On 2018-07-17 22:48, Alexander Smirnov wrote:
>>
>> Jan Kiszka <jan.kiszka@siemens.com> 17 июля 2018 г. 22:45:11 написал:
>>
>>> 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?
>>
>>
>> I need to investigate this topic in more details.
>>
>>>
>>>
>>>>
>>>> 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:
>>
>> Hmm, actually it should. That's how I disable cross-comp for kernel
>> modules. Could you try more strength assignment := ?
>>

Sorry, "no" was referring to the build in general. I can enforce the
opt-out via ISAR_CROSS_COMPILE = "0" successfully.

>>>
>>> | 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...
>>>

I'm starting to wonder if there is the wrong architecture set at some
level, which may also explain why dpdk pulls tool packages for the
target architecture, rather than the host arch. Does that ring any bell?

Jan
-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

  reply	other threads:[~2018-07-18  8:19 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
2018-07-17 20:48       ` Alexander Smirnov
2018-07-18  7:06         ` Jan Kiszka
2018-07-18  8:19           ` Jan Kiszka [this message]
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=eb1cc596-732c-c45f-abb4-2636f9dbd94f@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