* libudev-zero recipe issue
@ 2023-08-11 6:38 Rob Kramer
2023-08-11 11:54 ` [yocto] " Alexander Kanavin
0 siblings, 1 reply; 3+ messages in thread
From: Rob Kramer @ 2023-08-11 6:38 UTC (permalink / raw)
To: yocto
[-- Attachment #1: Type: text/plain, Size: 5209 bytes --]
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'
[-- Attachment #2: Type: text/html, Size: 8417 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [yocto] libudev-zero recipe issue
2023-08-11 6:38 libudev-zero recipe issue Rob Kramer
@ 2023-08-11 11:54 ` Alexander Kanavin
2023-08-15 4:23 ` Rob Kramer
0 siblings, 1 reply; 3+ messages in thread
From: Alexander Kanavin @ 2023-08-11 11:54 UTC (permalink / raw)
To: Rob Kramer; +Cc: yocto
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 (#60777): https://lists.yoctoproject.org/g/yocto/message/60777
> Mute This Topic: https://lists.yoctoproject.org/mt/100679184/1686489
> Group Owner: yocto+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [yocto] libudev-zero recipe issue
2023-08-11 11:54 ` [yocto] " Alexander Kanavin
@ 2023-08-15 4:23 ` Rob Kramer
0 siblings, 0 replies; 3+ messages in thread
From: Rob Kramer @ 2023-08-15 4:23 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: yocto
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]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-08-15 4:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox