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 <[email protected]> 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 (#60796): https://lists.yoctoproject.org/g/yocto/message/60796
Mute This Topic: https://lists.yoctoproject.org/mt/100679184/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to