]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
build-appliance-image: add /lib64 symlink
authorTrevor Woerner <twoerner@gmail.com>
Tue, 21 Feb 2023 20:44:41 +0000 (15:44 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 23 Feb 2023 12:10:09 +0000 (12:10 +0000)
Add a /lib64 -> /lib symlink in case the build appliance is 64-bit.

Building rust-native requires cargo to be run. The native cargo is linked to
look for /lib64/ld-linux-x86-64.so.2 and can't be run without it. The build
produces the following error, even though that file does exist:

FileNotFoundError: [Errno 2] No such file or directory: '/home/builder/poky/build/tmp/work/x86_64-linux/rust-native/1.66.1-r0/rust-snapshot/bin/cargo'

Trying to run this binary on its own gives:

qemux86-64:~/poky/build$ tmp/work/x86_64-linux/rust-native/1.66.1-r0/rust-snapshot/bin/cargo
-sh: tmp/work/x86_64-linux/rust-native/1.66.1-r0/rust-snapshot/bin/cargo: cannot execute: required file not found

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/images/build-appliance-image_15.0.0.bb

index ce5af7764c43c6e0884448ee0d312b7afe7d4f0e..6e6592295085a602f79dc75ce41c0678a232bd18 100644 (file)
@@ -109,7 +109,13 @@ fakeroot do_populate_poky_src () {
        chown -R builder:builder ${IMAGE_ROOTFS}/home/builder/.cache
 }
 
-IMAGE_PREPROCESS_COMMAND += "do_populate_poky_src; "
+fakeroot do_tweak_image () {
+       # add a /lib64 symlink
+       # this is needed for building rust-native on a 64-bit build appliance
+       ln -rs ${IMAGE_ROOTFS}/lib ${IMAGE_ROOTFS}/lib64
+}
+
+IMAGE_PREPROCESS_COMMAND += "do_populate_poky_src; do_tweak_image; "
 # For pip usage above
 do_image[network] = "1"