*** alatiera has quit IRC | 01:34 | |
*** nimish has joined #buildstream | 01:52 | |
*** kapil___ has joined #buildstream | 06:13 | |
*** mohan43u has quit IRC | 06:49 | |
*** jmsx has joined #buildstream | 08:23 | |
juergbi | valentind: I don't think it's strictly a regression as before you couldn't specify the architecture of the execution environment at all | 08:38 |
---|---|---|
juergbi | if you don't properly specify it now, it will work as before | 08:38 |
juergbi | however, we should indeed support qemu-user etc. maybe we could read the binfmt config but it may be a bit tricky as theoretically there might be multiple valid slightly different variations | 08:40 |
juergbi | or a somewhat odd approach: we could ship minimal static binaries (equivalent to /bin/true) for all architectures and then check whether the execution environment works by attempting to execute the corresponding binary | 08:43 |
valentind | juergbi, well, you might want to run on a multiarch environment with qemu installed. That means your environment can run multiple architecture. You can also make element that generates binaries for multiple architectures. When GCC is built as a cross compiler it provides both the cross compiler for the build architecture and some libraries for the target architecture. | 09:36 |
valentind | And i think it is a regression now because it gives you an error instead of trying. | 09:38 |
valentind | Elements should be able to specify independently a list of architectures they need while building. | 09:40 |
juergbi | valentind: you only get an error if you specify the new sandbox build-arch key, right? | 09:43 |
valentind | juergbi, actually I might be wrong. I have not tested. But it seems this is what the code does. | 09:44 |
juergbi | as I mentioned, we should indeed support qemu-user and co. but I don't think this breaks existing projects | 09:44 |
valentind | in check_sanbox_config | 09:44 |
juergbi | the default is the host arch there, so the check will pass | 09:44 |
juergbi | having arch options does not directly influence sandbox config | 09:44 |
juergbi | you have to explicitly specify sandbox: build-arch: ... | 09:45 |
juergbi | but we want projects to actually use this new config, so we should find a way to support qemu-user with that as well | 09:45 |
valentind | juergbi, oh, ok, you can just not use the arch option and let buildstream thinks it running the host arch even though it is running a foreign arch. | 09:46 |
juergbi | yep, but I don't want to recommend this, of course | 09:46 |
juergbi | a general issue with qemu-user is that it's a host requirement | 09:47 |
juergbi | so such projects are not quite as easy to build on arbitrary hosts in any case | 09:47 |
valentind | juergbi, the problem is that this configuration for sandbox architecture is still in the cache key. | 09:48 |
valentind | And this is annoying. | 09:48 |
valentind | I thought this would be changed. | 09:48 |
juergbi | if you properly specify the sandbox arch, that issue is fixed | 09:48 |
juergbi | so e.g. freedesktop-sdk should do this when it switches to 1.4 | 09:49 |
valentind | juergbi, what if you cross compile a part of your project on not the other. | 09:49 |
juergbi | sandbox config can be specified per element | 09:49 |
juergbi | also in includes, of course | 09:49 |
juergbi | besides the project default | 09:49 |
valentind | juergbi, OK I have have to look at that. I thought it was project. | 09:50 |
juergbi | it's an extension of the existing build-uid and build-gid config for build-os and build-arch | 09:50 |
valentind | Still however, when you cross compile, for some element you might not want to have the host architecture to be in the cache key. | 09:53 |
juergbi | that's indirectly anyway in the cache key if the cross compiler is in the dependency list | 09:53 |
valentind | It would be nice to be able to configure target architectures independently from the sandbox. | 09:54 |
valentind | Right. | 09:54 |
valentind | juergbi, there was this issue: #523 | 09:55 |
gitlab-br-bot | Issue #523: BuildStream doesn't hit the cache when building foreign arches https://gitlab.com/BuildStream/buildstream/issues/523 | 09:55 |
valentind | Oh this one should be fixed. | 09:55 |
juergbi | yes, that's using qemu-user for everything, right? | 09:56 |
valentind | Well, only if you set the sandbox arch. | 09:56 |
juergbi | yes, of course | 09:56 |
*** kapil___ has quit IRC | 10:13 | |
*** tristan has joined #buildstream | 11:39 | |
*** abderrahim has quit IRC | 11:52 | |
*** abderrahim has joined #buildstream | 11:52 | |
*** kapil___ has joined #buildstream | 12:55 | |
*** alatiera has joined #buildstream | 13:47 | |
*** nimish has quit IRC | 15:21 | |
*** nimish_ has joined #buildstream | 15:21 | |
*** nimish_ is now known as nimish | 15:22 | |
*** nimish has quit IRC | 16:22 | |
*** nimish has joined #buildstream | 16:26 | |
*** nimish has quit IRC | 19:40 | |
*** niluje has joined #buildstream | 20:54 | |
*** kapil___ has quit IRC | 21:03 | |
*** kapil___ has joined #buildstream | 22:54 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!