From 93b7043b5fa8cfd5d4d6d3e269c95ec573198b22 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 21 Sep 2019 19:48:50 +0200 Subject: [PATCH] libsecret.pc: add Libs.private field for libgcrypt When libgcrypt is available, libsecret links with it. When dynamic linking is used, there is no problem: libsecret.so has a NEEDED pointing to libgcrypt, so linking an application with -lsecret works fine. However, when doing static linking, you must specify the entire chain of libraries, otherwise you get unresolved symbols errors, such as: host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libsecret-1.a(libsecret_1_la-secret-session.o): In function `request_open_session_aes': build/libsecret-0.18.3/libsecret/secret-session.c:99: undefined reference to `gcry_mpi_release' build/libsecret-0.18.3/libsecret/secret-session.c:101: undefined reference to `gcry_mpi_aprint' build/libsecret-0.18.3/libsecret/secret-session.c:107: undefined reference to `gcry_free' In order to solve this, we simply need to indicate in the Libs.private field of the .pc file that we depend on libgcrypt. Signed-off-by: Thomas Petazzoni [Retrieved from: https://git.buildroot.net/buildroot/tree/package/libsecret/0001-libsecret.pc-add-Libs.private-field-for-libgcrypt.patch] Signed-off-by: Fabrice Fontaine --- libsecret/libsecret.pc.in | 1 + 1 file changed, 1 insertion(+) diff --git a/libsecret/libsecret.pc.in b/libsecret/libsecret.pc.in index 0c342ef..d99cf44 100644 --- a/libsecret/libsecret.pc.in +++ b/libsecret/libsecret.pc.in @@ -11,4 +11,5 @@ Description: GObject bindings for Secret Service API Version: @VERSION@ Requires: glib-2.0 gobject-2.0 gio-2.0 Libs: -L${libdir} -lsecret-@SECRET_MAJOR@ +Libs.private: @LIBGCRYPT_LIBS@ Cflags: -I${includedir}/libsecret-@SECRET_MAJOR@