This is because prelink_image is also in IMAGE_PREPROCESS_COMMAND.
meta/classes/image-prelink.bbclass:IMAGE_PREPROCESS_COMMAND_append_libc-glibc
= " prelink_setup; prelink_image; "
And as it's using _append, it will be after your 'symlink_lib64'.
Maybe using IMAGE_PREPROCESS_COMMAND_append = " symlink_lib64; " would
work for you?
Best Regards,
Chen Qi
On 11/29/2018 08:09 AM, Chuck Wolber wrote:
Background: I have an image that works in pyro. I am migrating the
image to thud.
Some of the add-on code to our image requires the /lib64 directory (in
particular the VirtualBox Additions). I have proven that a simple
symlink (/lib -> /lib64) fixes the problem. This symlink was being
applied with the following code at the very bottom of the image:
IMAGE_PREPROCESS_COMMAND += "symlink_lib64; "
symlink_lib64() {
ln -s /lib ${IMAGE_ROOTFS}/lib64
}
When I use that same code with Yocto thud, I get the following build
error:
DEBUG: Executing shell function prelink_image
Size before prelinking 818112.
/build/poky/tmp/work/qemux86_64-linux/common-os-image/1.0-r0/recipe-sysroot-native/usr/sbin/prelink:
Could not record directory /lib/modules-load.d: No such file or
directory
WARNING: exit code 1 from a shell command.
Looking at the image generation diagram here
(https://www.yoctoproject.org/docs/2.6/overview-manual/overview-manual.html#image-generation-dev-environment),
it would seem to indicate that IMAGE_PREPROCESS_COMMAND runs after the
linker steps in do_rootfs. So it is unclear why prelink is failing
during the do_image phase.
Where is the correct place to create a /lib -> /lib64 symlink in our
image recipe?
Thank you,
..Ch:W..
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto