Yocto Project Discussions
 help / color / mirror / Atom feed
From: Rob Kramer <rob@teegee.cloud>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: yocto@lists.yoctoproject.org
Subject: Re: [yocto] libudev-zero recipe issue
Date: Tue, 15 Aug 2023 12:23:25 +0800	[thread overview]
Message-ID: <5f03d563-9358-9cc2-af9e-4920ef26d508@teegee.cloud> (raw)
In-Reply-To: <CANNYZj-9Pey+OO_YmjK77LL_qE7c-vzgYKN3YjiV9qQWD346Zw@mail.gmail.com>

I wiped the whole build, and the issue hasn't happened again since. 
Hopefully it was just bitbake being in a funny state.. If it happens 
again, I'll create a separate minimal poky build to test.

Thanks!

     Rob

On 11/8/23 19:54, Alexander Kanavin wrote:
> The recipe looks ok. Can you reproduce it with a plain poky build (no
> extra layers, no custom distros, no weird BSPs :) ?
>
> Alex
>
> On Fri, 11 Aug 2023 at 08:38, Rob Kramer <rob@teegee.cloud> wrote:
>> Hi all,
>>
>> I added a new recipe for libudev-zero, which provides a minimal daemon-less udev implementation. The recipe works, but has an issue that pops up regularly where it causes an exception during rootfs:
>>
>> Exception: FileNotFoundError: [Errno 2] No such file or directory: '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/deploy/ipk/core2-64/libudev1_1.0.2-r1_core2-64.ipk' -> '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/work/generic64-oe-linux/sollinux-ble-weston/1.0-r0/oe-rootfs-repo/core2-64/libudev1_1.0.2-r1_core2-64.ipk'
>>
>> It seems like for some reason the ipk has been removed from deploy/ipk. To recover from this, a 'bitbake -c clean libudev-zero' will restore things the next time the rootfs is run.
>>
>> Does anyone have an idea what could cause this? Appended below is the recipe, and the full error message.
>>
>> Cheers,
>>
>>       Rob
>>
>>
>> libudev-zero_1.0.2.bb:
>> DESCRIPTION = "Daemon-less libudev replacement"
>> SECTION = "base"
>> LICENSE="ISC"
>> LIC_FILES_CHKSUM = "file://LICENSE;md5=09eac32a84c5d70c105cbfce173a161d"
>>
>> PR = "r1"
>> SRCREV = "04a727df50fde3f69127aed4bc48e6cff5430175"
>> SRC_URI = "git://github.com/illiliti/${BPN};branch=master;protocol=https"
>>
>> SRC_URI[sha256sum] = "29dff942cab9519994fb92ba6407f57e08d3dd6e6c0b86bb93d7b1d681994ff8"
>>
>> PROVIDES = "udev"
>>
>> inherit features_check
>>
>> CONFLICT_DISTRO_FEATURES = "systemd"
>>
>> S = "${WORKDIR}/git"
>>
>> PACKAGES += "${PN}-netlink"
>> FILES:${PN} = "${libdir}"
>> FILES:${PN}-netlink = "${bindir}"
>>
>> RPROVIDES:${PN} = "hotplug udev"
>>
>> do_configure:prepend() {
>>      sed -i 's;PREFIX = /usr/local;PREFIX = /usr;' ${S}/Makefile
>> }
>>
>> do_compile:append() {
>>      $CCLD $LDFLAGS -o contrib/netlink-forward contrib/helper.c
>> }
>>
>> do_install() {
>>      oe_runmake install DESTDIR=${D}
>>
>>      install -d ${D}${bindir}
>>      install -m 755 contrib/netlink-forward ${D}${bindir}
>> }
>>
>>
>>
>> Error message:
>> ERROR: sollinux-ble-weston-1.0-r0 do_rootfs: Error executing a python function in exec_func_python() autogenerated:
>>
>> The stack trace of python calls that resulted in this exception/failure was:
>> File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
>>       0001:
>>   *** 0002:do_rootfs(d)
>>       0003:
>> File: '/opt/oe/yocto/kirkstone/oe-core/meta/classes/image.bbclass', lineno: 255,
>>   function: do_rootfs
>>       0251:    progress_reporter.next_stage()
>>       0252:
>>       0253:    # generate rootfs
>>       0254:    d.setVarFlag('REPRODUCIBLE_TIMESTAMP_ROOTFS', 'export', '1')
>>   *** 0255:    create_rootfs(d, progress_reporter=progress_reporter, logcatcher=l
>> ogcatcher)
>>       0256:
>>       0257:    progress_reporter.finish()
>>       0258:}
>>       0259:do_rootfs[dirs] = "${TOPDIR}"
>> File: '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/rootfs.py', lineno: 381, func
>> tion: create_rootfs
>>       0377:
>>       0378:    img_type = d.getVar('IMAGE_PKGTYPE')
>>       0379:
>>       0380:    cls = get_class_for_type(img_type)
>>   *** 0381:    cls(d, manifest_dir, progress_reporter, logcatcher).create()
>>       0382:    os.environ.clear()
>>       0383:    os.environ.update(env_bkp)
>>       0384:
>>       0385:
>> File: '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/package_manager/ipk/rootfs.py
>> ', lineno: 136, function: __init__
>>       0132:
>>       0133:        self.inc_opkg_image_gen = self.d.getVar('INC_IPK_IMAGE_GEN') o
>> r ""
>>       0134:        if self._remove_old_rootfs():
>>       0135:            bb.utils.remove(self.image_rootfs, True)
>>   *** 0136:            self.pm = OpkgPM(d,
>>       0137:                             self.image_rootfs,
>>       0138:                             self.opkg_conf,
>>       0139:                             self.pkg_archs)
>>       0140:        else:
>> File: '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/package_manager/ipk/__init__.
>> py', lineno: 175, function: __init__
>>       0171:        self.opkg_args = "--volatile-cache -f %s -t %s -o %s " % (self
>> .config_file, self.d.expand('${T}/ipktemp/') ,target_rootfs)
>>       0172:        self.opkg_args += self.d.getVar("OPKG_ARGS")
>>       0173:
>>       0174:        if prepare_index:
>>   *** 0175:            create_packages_dir(self.d, self.deploy_dir, d.getVar("DEP
>> LOY_DIR_IPK"), "package_write_ipk", filterbydependencies)
>>       0176:
>>       0177:        self.opkg_dir = oe.path.join(target_rootfs, self.d.getVar('OPK
>> GLIBDIR'), "opkg")
>>       0178:        bb.utils.mkdirhier(self.opkg_dir)
>>       0179:
>> File: '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/package_manager/__init__.py',
>>   lineno: 525, function: create_packages_dir
>>       0521:                if destdir not in seendirs:
>>       0522:                    bb.utils.mkdirhier(destdir)
>>       0523:                    seendirs.add(destdir)
>>       0524:                try:
>>   *** 0525:                    os.link(l, dest)
>>       0526:                except OSError as err:
>>       0527:                    if err.errno == errno.EXDEV:
>>       0528:                        bb.utils.copyfile(l, dest)
>>       0529:                    else:
>> Exception: FileNotFoundError: [Errno 2] No such file or directory: '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/deploy/ipk/core2-64/libudev1_1.0.2-r1_core2-64.ipk' -> '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/work/generic64-oe-linux/sollinux-ble-weston/1.0-r0/oe-rootfs-repo/core2-64/libudev1_1.0.2-r1_core2-64.ipk'
>>
>>
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#60782): https://lists.yoctoproject.org/g/yocto/message/60782
>> Mute This Topic: https://lists.yoctoproject.org/mt/100679184/7790876
>> Group Owner: yocto+owner@lists.yoctoproject.org
>> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [rob@teegee.cloud]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>



      reply	other threads:[~2023-08-15  4:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-11  6:38 libudev-zero recipe issue Rob Kramer
2023-08-11 11:54 ` [yocto] " Alexander Kanavin
2023-08-15  4:23   ` Rob Kramer [this message]

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=5f03d563-9358-9cc2-af9e-4920ef26d508@teegee.cloud \
    --to=rob@teegee.cloud \
    --cc=alex.kanavin@gmail.com \
    --cc=yocto@lists.yoctoproject.org \
    /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