diff options
author | Etienne Cordonnier <ecordonnier@snap.com> | 2023-03-02 14:23:41 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-03-06 10:21:41 -0800 |
commit | 15ea5a1f8fc24af96055cd7bf416b0d8fd90243e (patch) | |
tree | dd193219c430d7576c76f92dba25e264f5428615 | |
parent | ef927a6289b183a1af49fe55507a63bd8294c9d1 (diff) | |
download | meta-clang-15ea5a1f8fc24af96055cd7bf416b0d8fd90243e.tar.gz |
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 <ecordonnier@snap.com>
-rw-r--r-- | dynamic-layers/selinux/android-tools/android-tools/libcrypto_utils_mk_change_out_dir.patch | 3 |
1 files changed, 2 insertions, 1 deletions
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 <Nisha.Parrakat@kpit.com> | |||
23 | LDFLAGS += -shared -Wl,-soname,$(NAME).so.0 \ | 23 | LDFLAGS += -shared -Wl,-soname,$(NAME).so.0 \ |
24 | -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \ | 24 | -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \ |
25 | - -L/usr/lib/$(DEB_HOST_MULTIARCH)/android \ | 25 | - -L/usr/lib/$(DEB_HOST_MULTIARCH)/android \ |
26 | - -lcrypto -Wl,-z,defs | ||
26 | + -L$(OUT_DIR)/usr/lib/$(DEB_HOST_MULTIARCH)/android \ | 27 | + -L$(OUT_DIR)/usr/lib/$(DEB_HOST_MULTIARCH)/android \ |
27 | -lcrypto -Wl,-z,defs | 28 | + -l:libcrypto.so.0 -Wl,-z,defs |
28 | 29 | ||
29 | build: $(SOURCES) | 30 | build: $(SOURCES) |
30 | - $(CC) $^ -o $(NAME).so.0 $(CPPFLAGS) $(LDFLAGS) | 31 | - $(CC) $^ -o $(NAME).so.0 $(CPPFLAGS) $(LDFLAGS) |