Date   

Patch files before recipe is parsed

Paul Adams
 

There is a problem with the Yocto recipe for Python 3 in warrior. It
is missing ntpath in the list of core modules listed in
python3-manifest.json.

Since warrior is EOL, I was hoping to fix this by patching the
python3-manifest.json file but it doesn't work. I think the reason is
that the manifest file is read by an anonymous function in the recipe,
which I understand is executed during recipe parsing (which I assume
happens before the patches are applied).

I know the patch is being applied correctly because the content of
python3-manifest.json file is correct when I inspect it in the
build/tmp/work... directory.

My question is whether there is any method in bitbake to apply patches
early enough to fix this issue?


Qtwebengine recipe in yocto zeus (latest version) #yocto #zeus #qt

anthony.marchand@...
 

Hello.
I hope you're going well in this period.
I'm working with yocto (zeus version) with a soc i.MX6 and kernel 4.19. Actually, I meet a weird issue about the recipe "qtwebengine" in all of my projects that are using zeus version.
The compilation was working fine until there, but since approximatively two weeks, with no particular reason, whatever the project I want to compile, I'm unable to compile qtwebengine and making a rootfs image with it inside.

So I have tested:

1) bitbake qtwebengine
2) bitbake myimage

PS: myimage contain the recipe qtwebengine.

But whatever the bitbake commands 1 or 2, Bitbake shows me the same error I don't understand and this error follows:

-----------------------------------------------------------------------------------
| In file included from /usr/include/bits/errno.h:26:0,
|                  from /usr/include/errno.h:28,
|                  from /usr/include/c++/7/cerrno:42,
|                  from /usr/include/c++/7/ext/string_conversions.h:44,
|                  from /usr/include/c++/7/bits/basic_string.h:6361,
|                  from /usr/include/c++/7/string:52,
|                  from /usr/include/c++/7/stdexcept:39,
|                  from /usr/include/c++/7/array:39,
|                  from /usr/include/c++/7/tuple:39,
|                  from /usr/include/c++/7/bits/unique_ptr.h:37,
|                  from /usr/include/c++/7/memory:80,
|                  from ../../../../git/src/3rdparty/chromium/v8/src/torque/cfg.h:9,
|                  from ./../../../../git/src/3rdparty/chromium/v8/src/torque/cfg.cc:5,
|                  from v8_snapshot/gen/v8/torque_base_jumbo_1.cc:5:
| /usr/include/linux/errno.h:1:10: fatal error: asm/errno.h: No such file or directory
|  #include <asm/errno.h>
|           ^~~~~~~~~~~~~
| compilation terminated.
...
| Makefile.gn_run:340: recipe for target 'run_ninja' failed
| make[3]: *** [run_ninja] Error 1
| make[3]: Leaving directory '/home/yocto/Dev/build_zeus/tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi/qtwebengine/5.13.0+gitAUTOINC+5d4bac57a0_8a28c0bb19-r0/build/src/core'
| Makefile:82: recipe for target 'sub-gn_run-pro-make_first' failed
| make[2]: *** [sub-gn_run-pro-make_first] Error 2
| make[2]: Leaving directory '/home/yocto/Dev/build_zeus/tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi/qtwebengine/5.13.0+gitAUTOINC+5d4bac57a0_8a28c0bb19-r0/build/src/core'
| Makefile:76: recipe for target 'sub-core-make_first' failed
| make[1]: *** [sub-core-make_first] Error 2
| make[1]: Leaving directory '/home/yocto/Dev/build_zeus/tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi/qtwebengine/5.13.0+gitAUTOINC+5d4bac57a0_8a28c0bb19-r0/build/src'
| Makefile:48: recipe for target 'sub-src-make_first' failed
| make: *** [sub-src-make_first] Error 2
| WARNING: exit code 1 from a shell command.
|
ERROR: Task (/home/yocto/Dev/build_zeus/../meta-qt5/recipes-qt/qt5/qtwebengine_git.bb:do_compile) failed with exit code '1'
-----------------------------------------------------------------------------------

I don't understand why bitbake don't find '<asm/errno.h>', because it is present in the kernel 4.19 and in my host system ubuntu 18. Furthermore, I don't understand the problem with run_ninja.

I try to change my PC for compilation, but I have got the same error. The PC I use to compile with bitbake got 20 cores intel xeon and 32GB of ram. I think the problem is not from here. :-)

Does someone already meet this problem?

Does someone know where could be the problem?

Thanks for all and best reguards: Anthony.


#yocto "zeus" #yocto

Monsees, Steven C (US)
 

 

This is probably a simple question, but since I am new to yocto there is a lot to learn…

 

How do I establish kernel access permissions for the “zeus” kernel so that when my application is up and running, (or an application startup script), can create read/write files for access/updating in the ”/etc” and “/dev” directories ?

 

In the few cases I do this I am seeing unable to open errors…

Note the same code appears to work correctly under “rocko”…

 

Thanks,

Steve


Re: Emulator tool for imx8m #linux #devtool #yocto

Amrun Nisha.R
 

Thanks Andy,

I tried to boot the linux kernel using TFTP/NFS, i got this below error

BOOTP broadcast 1
DHCP client bound to address 10.78.216.7 (12 ms)
Using ethernet@30be0000 device
TFTP from server 199.63.127.45; our IP address is 10.78.216.7; sending through gateway 10.79.108.1
Filename 'boot\x86\wdsnbp.com'.
Load address: 0x42000000
Loading: *
ARP Retry count exceeded; starting again
Error: Bad gzipped data
fdt_file=fsl-imx8mq-var-dart.dtb
BOOTP broadcast 1
DHCP client bound to address 10.78.216.7 (17 ms)
Using ethernet@30be0000 device
TFTP from server 199.63.127.45; our IP address is 10.78.216.7; sending through gateway 10.79.108.1
Filename 'boot\x86\wdsnbp.com'.
Load address: 0x43000000
Loading: *
ARP Retry count exceeded; starting again
WARN: Cannot load the DT

is there any way to fix this issue?


Issue related to .wic image

NIKHIL PATIL <nikhilvp29@...>
 

Hi ,
    We are compiling a core-image-sato-sdk.wic  image  using bitbake  that time i am not able to copy anything into /lib/firmware  folder. 
     but when i am compiling core-image-sato-sdk.hddimg   that time its work fine .     
    for wic image getting following error .
  
root@intel-corei7-64:~# cp tests/Firmware/* /lib/firmware/
cp: cannot create regular file '/lib/firmware/RS9113_AP_BT_DUAL_MODE.rps': Read-only file system
cp: cannot create regular file '/lib/firmware/RS9113_WC_BL.rps': Read-only file system


#yocto zeus X11 keyboard #yocto

Monsees, Steven C (US)
 

 

I am running zeus based image (that runs without the following error under  my rocko build), under zeus build I am now seeing the following :

 

The XKEYBOARD keymap compiler (xkbcomp) reports:

> Warning:          Unsupported high keycode 372 for name <I372> ignored

>                   X11 cannot support keycodes above 255.

>                   This warning only shows for the first high keycode.

Errors from xkbcomp are not fatal to the X server

 

Under: .../share/X11/xkb/keycodes/evfev I372 is defined as:

        // Extended keys that may be generated on "Internet" keyboards.

        // evdev has standardize names for these.

 

        <I372> = 372;   // #define KEY_FAVORITES           364

 

Is there a build option for this component I can tweak to correct for this ?

 

Thanks,

Steve


Re: Split kernel patches over different machines

Bel Hadj Salem Talel <bhstalel@...>
 

Hi,
Thanks for the reply,

Yes, that did the trick.

Thanks, Talel


Re: Split kernel patches over different machines

Quentin Schulz
 

Hi Talel,

On Wed, Nov 11, 2020 at 03:30:33AM -0800, Bel Hadj Salem Talel wrote:
Hi All,

I created two different machines "menzu-console" and "menzu-media"
I have main patch for device tree for both , and only one patch specific for menzu-media machine
So in the linux recipe bbappend I want to set something like this:
SRC_URI += "file://main.patch" # FOR BOTH MACHINES
SRC_URI_menzu-media += "file://media.patch" # FOR menzu-media ONLY
SRC_URI_append_mezu-media = " file://media.patch"
is what you should use.

The issue with your suggestion is that it **replaces** the original
variable iff the recipe is built for menzu-media. What you want is to
append to the variable iff the recipe is built for menzu-media, that's
what the line above does.

Quentin


Split kernel patches over different machines

Bel Hadj Salem Talel <bhstalel@...>
 

Hi All,

I created two different machines "menzu-console" and "menzu-media"
I have main patch for device tree for both , and only one patch specific for menzu-media machine
So in the linux recipe bbappend I want to set something like this:
SRC_URI += "file://main.patch" # FOR BOTH MACHINES
SRC_URI_menzu-media += "file://media.patch" # FOR menzu-media ONLY

But this didn't work, only "media.patch" is unpacked and moreover the kernel recipe workdir does not contain a content as if unpack didn't work properly.
How can I do it ?

Thanks, Talel


Re: : When compiling code, how to make a package not hash checked?

ouyangxuan10@163.com
 

hi Quentin,








At 2020-11-10 21:16:15, "Quentin Schulz" <quentin.schulz@...> wrote: >Hi Byron, > >On Tue, Nov 10, 2020 at 09:09:05PM +0800, ouyangxuan10@... wrote: >> Dear all, >> >> >> I would like to ask the reasons for the following problems and how to solve them? When compiling a program, how to make a package not hash checked? >> > >Did you execute the commands that were suggested in the log you sent? > >Can you send us the content of the log of the second command please?
>
This is another package with the same problem:(Run the above command.)

the log in locked-sigs.inc

I would like to ask, is there any way to separate this package from the verification function?

>Basically, two possible ways this happens: > 1. you modified the recipe while bitbake was running. Solution => don't > do that. > 2. bitbake parses tasks multiple times during a run, therefore, if a > variable changes between parses your task will have a different hash. > This usually happens with DATETIME. If you don't absolutely need this > variable, remove it or find a replacement. If you have to, I think the > vardepsexclude variable flag is the way to do it? >
>Quentin

Thanks,
Byron


 


Re: python bump

Mikko Rapeli <mikko.rapeli@...>
 

On Wed, Nov 11, 2020 at 08:39:42AM +0100, Belisko Marek wrote:
On Wed, Nov 11, 2020 at 8:04 AM <Mikko.Rapeli@...> wrote:

Hi,

On Tue, Nov 10, 2020 at 07:44:39PM +0100, Marek Belisko wrote:
Hi,

I'm using poky release thud and would like to bump python3 to 3.8.x. I
took recipe from most recent poky version but I'm hitting issue with
e.g. meson build like:
Log data follows:
| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
| File "setup.py", line 25, in <module>
| from setuptools import setup
| ModuleNotFoundError: No module named 'setuptools'

Are there some other things I need to take care when want to bump python3?
When backporting changes, I find it better to cherry-pick the changes for e.g.
python3 update from master to the old branch that I have to use. In my case I can
not update anything which breaks ABIs on target images but can update all
development tools like python3. Often fixes and/or updates to components which
fail to build are also easy to find from master and cherry-pick, especially if you
don't need to build all recipes from poky but only a certain subset. Over
time this will make your local branch look horrible though, but at least
merges from stable branches will in most cases work, if they are still alive.
Thanks for sharing. But I'm using official poky release from git so I
cannot cherry pick changes.
Or you have clone of poky repo and add changes on top from newest versions?
Locally, as developer you always have a local branch where you can cherry-pick
changes. With git submodules and repo tooling, you should use a local or
project specific clone of poky. Or move all updates and changes to your own
layers, but I find this doesn't scale and instead branching in git works
better.

Cheers,

-Mikko


How to create new variable in Yocto to use it in a recipe ?

Bel Hadj Salem Talel <bhstalel@...>
 

Hi All,

I'm not trying to export or create a variable inside a recipe because that's easy and not my case.
But I want to create a variable that a user can define in local.conf or in other conf files and a recipe that checks the value of that variable and do some stuff with it like:
python (){
 a = d.getVar('MY_VARIABLE' or '')
}
How can I do this?
Thanks, Talel


Re: python bump

Martin Jansa
 

If you don't really need 3.8 and 3.7.5 from warrior would be good enough for you, then backporting it to thud was relatively straightforward as implemented in:
and as it's in a separate layer it doesn't make your main distro layer more ugly or difficult to maintain (just drop backports layers when upgrading to newer release instead of trying to find out all backported bits and pieces across a whole set of layers).

But even this "small" upgrade from 3.6 to 3.7 introduces ABI change as shown in:
so it's better to upgrade completely to a new release if possible at all.

On Tue, Nov 10, 2020 at 7:45 PM Marek Belisko <marek.belisko@...> wrote:
Hi,

I'm using poky release thud and would like to bump python3 to 3.8.x. I
took recipe from most recent poky version but I'm hitting issue with
e.g. meson build like:
Log data follows:
| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
|   File "setup.py", line 25, in <module>
|     from setuptools import setup
| ModuleNotFoundError: No module named 'setuptools'

Are there some other things I need to take care when want to bump python3?

Thanks and BR,

marek

--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com




Re: python bump

Marek Belisko
 

On Wed, Nov 11, 2020 at 8:04 AM <Mikko.Rapeli@...> wrote:

Hi,

On Tue, Nov 10, 2020 at 07:44:39PM +0100, Marek Belisko wrote:
Hi,

I'm using poky release thud and would like to bump python3 to 3.8.x. I
took recipe from most recent poky version but I'm hitting issue with
e.g. meson build like:
Log data follows:
| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
| File "setup.py", line 25, in <module>
| from setuptools import setup
| ModuleNotFoundError: No module named 'setuptools'

Are there some other things I need to take care when want to bump python3?
When backporting changes, I find it better to cherry-pick the changes for e.g.
python3 update from master to the old branch that I have to use. In my case I can
not update anything which breaks ABIs on target images but can update all
development tools like python3. Often fixes and/or updates to components which
fail to build are also easy to find from master and cherry-pick, especially if you
don't need to build all recipes from poky but only a certain subset. Over
time this will make your local branch look horrible though, but at least
merges from stable branches will in most cases work, if they are still alive.
Thanks for sharing. But I'm using official poky release from git so I
cannot cherry pick changes.
Or you have clone of poky repo and add changes on top from newest versions?

But like Alex said, using 3.1 dunfell LTS or 3.2 gatesgarth would be better.
Yes but it's not an option for me to do it now ;).

Hope this helps,

-Mikko
Thanks,

Marek


Re: Error when building eSDK for a `docker load`able tarball

Josef Holzmayr
 

Howdy!

Am Mi., 11. Nov. 2020 um 08:18 Uhr schrieb Robert Berger@...
<robert.berger.yocto.user@...>:
<snip>

So it looks like it's extensible SDK specific.

Can you please try with the "standard" sdk instead of the extensible sdk
to see if this works for you?
<snip>

Tried that. Standard SDK works, it's definitely related to the tasks
of the eSDK.

Greetz


Re: Error when building eSDK for a `docker load`able tarball

Robert Berger
 

Hi,

And as far as I understand you tried to build some extensible SDK against an x86-64 container.

Please note, that my SDK most likely contains a bit more than the "standard" stuff[0], but this should not make much of a difference here.

[0] https://gitlab.com/meta-layers/meta-resy/-/blob/dunfell/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend

I take a container-x86-64:

bitbake app-container-image-mosquitto-oci [1]

[1] https://pastebin.com/T9hX1H8f

bitbake app-container-image-mosquitto-oci -c populate_sdk [2]

[2] https://pastebin.com/eujc57DG

bitbake app-container-image-mosquitto-oci -c populate_sdk_ext

breaks in a similar way[3]

[3] https://pastebin.com/rV9ewZa9

So it looks like it's extensible SDK specific.

Can you please try with the "standard" sdk instead of the extensible sdk to see if this works for you?

You might want to play with IMAGE_CONTAINER_NO_DUMMY = "1" which is defined in poky/meta/classes/image-container.bbclass and try to build a container with a kernel as a workaround in case you build an eSDK.

Regards,

Robert


Re: python bump

Mikko Rapeli <mikko.rapeli@...>
 

Hi,

On Tue, Nov 10, 2020 at 07:44:39PM +0100, Marek Belisko wrote:
Hi,

I'm using poky release thud and would like to bump python3 to 3.8.x. I
took recipe from most recent poky version but I'm hitting issue with
e.g. meson build like:
Log data follows:
| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
| File "setup.py", line 25, in <module>
| from setuptools import setup
| ModuleNotFoundError: No module named 'setuptools'

Are there some other things I need to take care when want to bump python3?
When backporting changes, I find it better to cherry-pick the changes for e.g.
python3 update from master to the old branch that I have to use. In my case I can
not update anything which breaks ABIs on target images but can update all
development tools like python3. Often fixes and/or updates to components which
fail to build are also easy to find from master and cherry-pick, especially if you
don't need to build all recipes from poky but only a certain subset. Over
time this will make your local branch look horrible though, but at least
merges from stable branches will in most cases work, if they are still alive.

But like Alex said, using 3.1 dunfell LTS or 3.2 gatesgarth would be better.

Hope this helps,

-Mikko


Re: python bump

Alexander Kanavin
 

You should rather move to a yocto release that has the needed python, backporting major pieces like that is difficult to impossible.

Alex


On Tue, 10 Nov 2020 at 19:45, Marek Belisko <marek.belisko@...> wrote:
Hi,

I'm using poky release thud and would like to bump python3 to 3.8.x. I
took recipe from most recent poky version but I'm hitting issue with
e.g. meson build like:
Log data follows:
| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
|   File "setup.py", line 25, in <module>
|     from setuptools import setup
| ModuleNotFoundError: No module named 'setuptools'

Are there some other things I need to take care when want to bump python3?

Thanks and BR,

marek

--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com




python bump

Marek Belisko
 

Hi,

I'm using poky release thud and would like to bump python3 to 3.8.x. I
took recipe from most recent poky version but I'm hitting issue with
e.g. meson build like:
Log data follows:
| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
| File "setup.py", line 25, in <module>
| from setuptools import setup
| ModuleNotFoundError: No module named 'setuptools'

Are there some other things I need to take care when want to bump python3?

Thanks and BR,

marek

--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com


Re: Missing vardeps in meta/classes/roofs_rpm.bbclass?

Alexander Kanavin
 

This seems like you need to make a patch (for master branch) and send it to oe-core list? :)

Alex


On Tue, 10 Nov 2020 at 19:04, Loic Domaigne <tech@...> wrote:
Salut,

We were playing with rpm package management lately.

To configure the yum repos in the image, we're setting the following variables in conf/local.conf:
FEED_PACKAGE_URIS
FEED_PACKAGE_BASE_PATHS

We made a typo, and forgot the S at the end of FEED_PACKAGE_BASE_PATHS
Not surprising, the repo file generated didn't have the right url:

$ cat oe-remote-repo-user1.repo
[oe-remote-repo-user1]
name=OE Remote Repo: user1
baseurl=http://192.168.7.1/user1
gpgcheck=0


After fixing the typo and bitbaking the image again, still no avail.
The repo file remains unchanged.

In fact, changing FEED_PACKAGE_BASE_PATHS did not re-trigger a new image build. We found this behavior surprising.

AFAICS:
1) As per oe/lib/meta/lib/oe/rootfs.py and lib/oe/package_manager.py, the URL is defined as the join paths of FEED_PACKAGE_URIS and FEED_PACKAGE_BASE_PATHS.
2) However, in meta/classes/rootfs_rpm.bbclass, do_rootfs only specifies a build dependency to FEED_PACKAGE_URIS:
do_rootfs[vardeps] += "PACKAGE_FEED_URIS"

Shouldn't the rootfs task depend on both PACKAGE_FEEDS_URIS and PACKAGE_FEED_BASE_PATHS, ie.
do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS"

After fixing this dependency, the repo file got updated as expected:
cat oe-remote-repo-user1-rpm.repo
[oe-remote-repo-user1-rpm]
name=OE Remote Repo: user1 rpm
baseurl=http://192.168.7.1/user1/rpm
gpgcheck=0

Does that make sense?

I have conducted this analysis on Zeus. The problem isn't fixed with Dunfell AFAICS. Also, the other package classes (deb,ipk) are impacted as well.

Hope this helps!
Loic