* Pseudo Abort due to path mismatch #pseudo #kirkstone
@ 2024-04-24 16:41 lukas.palme
2024-04-24 16:43 ` [OE-core] " Martin Jansa
0 siblings, 1 reply; 3+ messages in thread
From: lukas.palme @ 2024-04-24 16:41 UTC (permalink / raw)
To: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3609 bytes --]
Hello openembedded community!
I hope this is the right place to ask this question, https://wiki.yoctoproject.org/wiki/Pseudo_Abort ( https://wiki.yoctoproject.org/wiki/Pseudo_Abort ) brought me here.
I have a custom recipe which builds fine on the first build, but fails on subsequent builds in the do_install step:
>
>
> ERROR: Task
> (/home/swarco/WindriverLinux22/build/../layers/meta-swarco/meta-vega/recipes-kernel/mymodule/mymodule.bb:do_install)
> failed with exit code '1'
> Pseudo log:
> path mismatch [3 links]: ino 78038 db
> '/home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/package/usr/src/debug/mymodule/1.0-r0/mymodule_public.h'
> req
> '/home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/mymodule_public.h'.
>
> Setup complete, sending SIGUSR1 to pid 12937.
Yocto is the only one touching the files in between builds. Also the files questioned do exist with the noted inode:
>
>
> swarco@SWFPERWKS065:~/WindriverLinux22$ stat
> /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/package/usr/src/debug/mymodule/1.0-r0/mymodule_public.h
>
> File:
> /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/package/usr/src/debug/mymodule/1.0-r0/mymodule_public.h
>
> Size: 3146 Blocks: 8 IO Block: 4096 regular file
> Device: 820h/2080d Inode: 78038 Links: 3
> Access: (0644/-rw-r--r--) Uid: ( 1000/ swarco) Gid: ( 1000/ swarco)
>
> Access: 2024-04-24 18:17:21.182513722 +0200
> Modify: 2024-04-24 18:16:50.402199580 +0200
> Change: 2024-04-24 18:17:19.432495797 +0200
> Birth: 2024-04-24 18:11:59.419201062 +0200
>
> swarco@SWFPERWKS065:~/WindriverLinux22$ stat
> /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/mymodule_public.h
> File:
> /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/mymodule_public.h
>
> Size: 3146 Blocks: 8 IO Block: 4096 regular file
> Device: 820h/2080d Inode: 78038 Links: 3
> Access: (0644/-rw-r--r--) Uid: ( 1000/ swarco) Gid: ( 1000/ swarco)
>
> Access: 2024-04-24 18:17:21.182513722 +0200
> Modify: 2024-04-24 18:16:50.402199580 +0200
> Change: 2024-04-24 18:17:19.432495797 +0200
> Birth: 2024-04-24 18:11:59.419201062 +0200
>
This is the recipe mymodule.bb:
>
> SUMMARY = "mymodule"
> DESCRIPTION = "Recipe for building a mymodule Linux kernel module"
> LICENSE = "GPL-2.0-only"
> LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
>
>
> inherit module
>
> SRC_URI = "file://Makefile \
> file://mymodule_core.c \
> file://mymodule.h \
> file://mymodule_public.h \
> file://mymodule_remote_public.h \
> "
>
> S = "${WORKDIR}"
>
> do_install:append() {
> install -d ${D}${includedir}
> install -m 0755 ${S}/mymodule_public.h ${D}${includedir}/
> }
> # The inherit of module.bbclass will automatically name module packages
> with
> # "kernel-module-" prefix as required by the oe-core build environment.
>
> RPROVIDES:${PN} += "kernel-module-mymodule"
> FILES:${PN}-dev += "${includedir}/*"
I am doing nothing unusual here.
Additional notes to my setup:
* Host machine: Ubuntu 22.04 on WSL
* Linux kernel: linux-imx (NXP)
Does someone have an idea what is happening here? Any help is appreciated!
Kind regards,
Lukas Palme
[-- Attachment #2: Type: text/html, Size: 6575 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OE-core] Pseudo Abort due to path mismatch #pseudo #kirkstone
2024-04-24 16:41 Pseudo Abort due to path mismatch #pseudo #kirkstone lukas.palme
@ 2024-04-24 16:43 ` Martin Jansa
2024-04-25 10:06 ` lukas.palme
0 siblings, 1 reply; 3+ messages in thread
From: Martin Jansa @ 2024-04-24 16:43 UTC (permalink / raw)
To: lukas.palme; +Cc: openembedded-core
Don't use:
S = "${WORKDIR}"
move it to separate directory and it will work fine.
On Wed, Apr 24, 2024 at 6:41 PM lukas.palme via lists.openembedded.org
<lukas.palme=swarco.com@lists.openembedded.org> wrote:
>
> Hello openembedded community!
>
> I hope this is the right place to ask this question, https://wiki.yoctoproject.org/wiki/Pseudo_Abort brought me here.
>
> I have a custom recipe which builds fine on the first build, but fails on subsequent builds in the do_install step:
>
> ERROR: Task (/home/swarco/WindriverLinux22/build/../layers/meta-swarco/meta-vega/recipes-kernel/mymodule/mymodule.bb:do_install) failed with exit code '1'
> Pseudo log:
> path mismatch [3 links]: ino 78038 db '/home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/package/usr/src/debug/mymodule/1.0-r0/mymodule_public.h' req '/home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/mymodule_public.h'.
> Setup complete, sending SIGUSR1 to pid 12937.
>
> Yocto is the only one touching the files in between builds. Also the files questioned do exist with the noted inode:
>
> swarco@SWFPERWKS065:~/WindriverLinux22$ stat /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/package/usr/src/debug/mymodule/1.0-r0/mymodule_public.h
> File: /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/package/usr/src/debug/mymodule/1.0-r0/mymodule_public.h
> Size: 3146 Blocks: 8 IO Block: 4096 regular file
> Device: 820h/2080d Inode: 78038 Links: 3
> Access: (0644/-rw-r--r--) Uid: ( 1000/ swarco) Gid: ( 1000/ swarco)
> Access: 2024-04-24 18:17:21.182513722 +0200
> Modify: 2024-04-24 18:16:50.402199580 +0200
> Change: 2024-04-24 18:17:19.432495797 +0200
> Birth: 2024-04-24 18:11:59.419201062 +0200
>
> swarco@SWFPERWKS065:~/WindriverLinux22$ stat /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/mymodule_public.h File: /home/swarco/WindriverLinux22/build/tmp-glibc/work/vegamx8-wrs-linux/mymodule/1.0-r0/mymodule_public.h
> Size: 3146 Blocks: 8 IO Block: 4096 regular file
> Device: 820h/2080d Inode: 78038 Links: 3
> Access: (0644/-rw-r--r--) Uid: ( 1000/ swarco) Gid: ( 1000/ swarco)
> Access: 2024-04-24 18:17:21.182513722 +0200
> Modify: 2024-04-24 18:16:50.402199580 +0200
> Change: 2024-04-24 18:17:19.432495797 +0200
> Birth: 2024-04-24 18:11:59.419201062 +0200
>
> This is the recipe mymodule.bb:
>
> SUMMARY = "mymodule"
> DESCRIPTION = "Recipe for building a mymodule Linux kernel module"
> LICENSE = "GPL-2.0-only"
> LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
>
> inherit module
>
> SRC_URI = "file://Makefile \
> file://mymodule_core.c \
> file://mymodule.h \
> file://mymodule_public.h \
> file://mymodule_remote_public.h \
> "
>
> S = "${WORKDIR}"
>
> do_install:append() {
> install -d ${D}${includedir}
> install -m 0755 ${S}/mymodule_public.h ${D}${includedir}/
> }
> # The inherit of module.bbclass will automatically name module packages with
> # "kernel-module-" prefix as required by the oe-core build environment.
>
> RPROVIDES:${PN} += "kernel-module-mymodule"
> FILES:${PN}-dev += "${includedir}/*"
>
> I am doing nothing unusual here.
>
> Additional notes to my setup:
>
> Host machine: Ubuntu 22.04 on WSL
> Linux kernel: linux-imx (NXP)
>
> Does someone have an idea what is happening here? Any help is appreciated!
>
> Kind regards,
>
> Lukas Palme
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#198689): https://lists.openembedded.org/g/openembedded-core/message/198689
> Mute This Topic: https://lists.openembedded.org/mt/105713810/3617156
> Mute #pseudo:https://lists.openembedded.org/g/openembedded-core/mutehashtag/pseudo
> Mute #kirkstone:https://lists.openembedded.org/g/openembedded-core/mutehashtag/kirkstone
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Pseudo Abort due to path mismatch #pseudo #kirkstone
2024-04-24 16:43 ` [OE-core] " Martin Jansa
@ 2024-04-25 10:06 ` lukas.palme
0 siblings, 0 replies; 3+ messages in thread
From: lukas.palme @ 2024-04-25 10:06 UTC (permalink / raw)
To: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 370 bytes --]
Hi
thanks you for the tips. I had to tell the fetcher to unpack into ${S} too:
>
> SRC_URI = "file://Makefile;subdir=${S} \
> file://mymodule_core.c;subdir=${S} \
> file://mymodule.h;subdir=${S} \
> file://mymodule_public.h;subdir=${S} \
> file://mymodule_remote_public.h;subdir=${S} \
> "
>
> S = "${WORKDIR}/checkout"
and it worked like a charm :)
[-- Attachment #2: Type: text/html, Size: 712 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-04-25 10:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-24 16:41 Pseudo Abort due to path mismatch #pseudo #kirkstone lukas.palme
2024-04-24 16:43 ` [OE-core] " Martin Jansa
2024-04-25 10:06 ` lukas.palme
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox