build-appliance-image: add /lib64 symlink

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

(From OE-Core rev: a62b32907cb059b4512032f15571705540f1c147)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Trevor Woerner
2023-02-21 15:44:41 -05:00
committed by Richard Purdie
parent dd8f5b9796
commit 3f4ce1222d

View 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"