From 398d4bc3805ca1c5cbb845aacccdb8999aabeab4 Mon Sep 17 00:00:00 2001 From: Etienne Cordonnier Date: Thu, 2 Mar 2023 14:23:41 +0100 Subject: android-tools: fix libcrypto_utils link error When building android-tools, this chain of dependency pulls the openssl library libcrypto.so.3 in recipe-sysroot: clang-native -> cmake-native -> curl-native -> openssl-native The issue is that libcrypto_utils attempt to link against the libcrypto.so produced by boringssl (debian/out/usr/lib/android/libcrypto.so), but the -L flags added by yocto to CPPFLAGS appear before the -L flag provided in the patch, and therefore the wrong library is used. Link explicitly against libcrypto.so.0 in order to ignore the openssl library and use boringssl instead. Note: to debug this add -Wl,--verbose to LDFLAGS Signed-off-by: Etienne Cordonnier --- .../android-tools/libcrypto_utils_mk_change_out_dir.patch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'dynamic-layers') diff --git a/dynamic-layers/selinux/android-tools/android-tools/libcrypto_utils_mk_change_out_dir.patch b/dynamic-layers/selinux/android-tools/android-tools/libcrypto_utils_mk_change_out_dir.patch index db613df..ec0db57 100644 --- a/dynamic-layers/selinux/android-tools/android-tools/libcrypto_utils_mk_change_out_dir.patch +++ b/dynamic-layers/selinux/android-tools/android-tools/libcrypto_utils_mk_change_out_dir.patch @@ -23,8 +23,9 @@ Signed-off-by: Nisha Parrakat LDFLAGS += -shared -Wl,-soname,$(NAME).so.0 \ -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \ - -L/usr/lib/$(DEB_HOST_MULTIARCH)/android \ +- -lcrypto -Wl,-z,defs + -L$(OUT_DIR)/usr/lib/$(DEB_HOST_MULTIARCH)/android \ - -lcrypto -Wl,-z,defs ++ -l:libcrypto.so.0 -Wl,-z,defs build: $(SOURCES) - $(CC) $^ -o $(NAME).so.0 $(CPPFLAGS) $(LDFLAGS) -- cgit v1.2.3-54-g00ecf