Fix external/gpgmepp Linux RPATH
In other external projects using libtool, we fix that by patching configure, resetting hardcode_libdir_flag_spec[_CXX] at the end of the linux*) case block that sets the Linux-specific value. But here we run autoreconf in ExternalProject_libassuan, so that patch in configure would be overwritten. The relevant code in configure comes from autoconf boilerplate, so we cannot just do the same patch in configure.ac. But we can reset hardcode_libdir_flag_spec sufficiently late in configure.ac so that things still work as intended. Disable tests that would build executabes linking against libgpgme.so, which in turn links against the libassuan and libgpg-error libs, which would no longer be found by the linker because of the dropped -rpath flags. (Alternatives might be to pass in LD_LIBRARY_PATH or to link with --allow-shlib-undefined.) Change-Id: I7e37abf802d213347bd80383b7980d85cf0762d4 Reviewed-on: https://gerrit.libreoffice.org/50960 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This commit is contained in:
parent
b18e2d80d7
commit
d4347f5d58
@ -230,10 +230,7 @@ else
|
||||
|
||||
if [ -s check_elf.out ] ; then
|
||||
cat check_elf.out
|
||||
# FIXME known broken, ignore for now
|
||||
if grep -v 'libgpgmepp.so.6\|libgpgme.so.11' check_elf.out >/dev/null; then
|
||||
status=1
|
||||
fi
|
||||
status=1
|
||||
fi
|
||||
rm check_elf.out
|
||||
fi
|
||||
|
1
external/gpgmepp/ExternalProject_gpgmepp.mk
vendored
1
external/gpgmepp/ExternalProject_gpgmepp.mk
vendored
@ -49,6 +49,7 @@ $(call gb_ExternalProject_get_state_target,gpgmepp,build):
|
||||
$(call gb_ExternalProject_run,build,\
|
||||
autoreconf \
|
||||
&& ./configure \
|
||||
--disable-gpg-test \
|
||||
--enable-languages="cpp" \
|
||||
GPG_ERROR_CFLAGS="$(GPG_ERROR_CFLAGS)" \
|
||||
GPG_ERROR_LIBS="$(GPG_ERROR_LIBS)" \
|
||||
|
1
external/gpgmepp/UnpackedTarball_gpgmepp.mk
vendored
1
external/gpgmepp/UnpackedTarball_gpgmepp.mk
vendored
@ -24,5 +24,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
|
||||
$(if $(filter MSC,$(COM)),external/gpgmepp/w32-add-initializer.patch.1) \
|
||||
external/gpgmepp/w32-build-fixes-2.patch \
|
||||
$(if $(filter LINUX,$(OS)),external/gpgmepp/asan.patch) \
|
||||
$(if $(filter LINUX,$(OS)),external/gpgmepp/rpath.patch) \
|
||||
))
|
||||
# vim: set noet sw=4 ts=4:
|
||||
|
12
external/gpgmepp/rpath.patch
vendored
Normal file
12
external/gpgmepp/rpath.patch
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
--- configure.ac
|
||||
+++ configure.ac
|
||||
@@ -176,6 +176,9 @@
|
||||
LT_INIT([win32-dll disable-static])
|
||||
LT_LANG([Windows Resource])
|
||||
|
||||
+hardcode_libdir_flag_spec=
|
||||
+hardcode_libdir_flag_spec_CXX=
|
||||
+
|
||||
# For now we hardcode the use of version scripts. It would be better
|
||||
# to write a test for this or even implement this within libtool.
|
||||
have_ld_version_script=no
|
Loading…
x
Reference in New Issue
Block a user