From 857addbd5aed50c3b158886a189118bb2271f8ca Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Wed, 17 Jan 2024 22:07:56 +0100 Subject: [PATCH] package/postgresql: fix service runtime Since commit 2a8065e "package/postgresql: bump version to 16.1", the postgresql service fail to start at runtime with an error: FATAL: could not load library "/usr/lib/postgresql/dict_snowball.so": /usr/lib/postgresql/dict_snowball.so: undefined symbol: CurrentMemoryContext This is due to the Posgresql autotool configure script trying to detect whether the toolchain linker needs --export-dynamic or not. This test is done with a runtime execution of a test program, and therefore cannot run in cross-compilation. In that case, the configure script assumes it is not needed. See commit [1], included in PostgreSQL v16.0. This commit fixes the issue by forcing the value in _CONF_ENV, as suggested in an upstream bug report [2]. The package has already a Kconfig dependency on !BR2_STATIC_LIBS, so the value can be unconditionally set. Note that upstream is not considering cross-compiling as supported, and are not keen on fixing any cross-compiling issue [3]. [1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=9db49fc5bfdc0126be03f4b8986013e59d93b91d [2] https://www.postgresql.org/message-id/79e63515-0f5e-30f4-136d-96e23b1a817d%40posteo.de [3] https://www.postgresql.org/message-id/1266022.1701958693%40sss.pgh.pa.us Signed-off-by: Julien Olivain Reviewed-by: Maxim Kochetkov [yann.morin.1998@free.fr: add upstream ML thread on the issue] Signed-off-by: Yann E. MORIN --- package/postgresql/postgresql.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index ec5b61b932..644f93d88a 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -15,6 +15,7 @@ POSTGRESQL_INSTALL_STAGING = YES POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ ac_cv_type_struct_sockaddr_in6=yes \ + pgac_cv_prog_cc_LDFLAGS_EX_BE__Wl___export_dynamic=yes \ LIBS=$(TARGET_NLS_LIBS) POSTGRESQL_CONF_OPTS = --disable-rpath POSTGRESQL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)