On 3/15/24 01:12, Khem Raj wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know 
the content is safe.

On Thu, Mar 14, 2024 at 12:22 AM Changqing Li
<[email protected]>  wrote:
From: Changqing Li<[email protected]>

initdb on target will fail with below error:
2024-03-13 08:40:23.253 UTC [4410] FATAL:  could not load library 
"/usr/lib64/postgresql/dict_snowball.so": 
/usr/lib64/postgresql/dict_snowball.so: undefined symbol: CurrentMemoryContext

Refer [1][2], for cross compile, --export-dynamic is assumed as not
supported, and cause above error. For oe, both gcc and clang support
--export-dynamic, fixed by set LDFLAGS_EX_BE directly

[1]https://www.postgresql.org/message-id/79e63515-0f5e-30f4-136d-96e23b1a817d%40posteo.de
[2]https://github.com/postgres/postgres/commit/9db49fc5bfdc0126be03f4b8986013e59d93b91d#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810

Signed-off-by: Changqing Li<[email protected]>
---
  meta-oe/recipes-dbs/postgresql/postgresql.inc | 1 +
  1 file changed, 1 insertion(+)

diff --git a/meta-oe/recipes-dbs/postgresql/postgresql.inc 
b/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 868a2e443..e29a5bef7 100644
--- a/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -35,6 +35,7 @@ LEAD_SONAME = "libpq.so"

  # LDFLAGS for shared libraries
  export LDFLAGS_SL = "${LDFLAGS}"
+export LDFLAGS_EX_BE = "-Wl,--export-dynamic"
this will add all the symbols into dynamic symbol table which may not
be best scenario, can we just export the ones needed ?
perhaps look into using --dynamic-list.

Hi, Khem

I tried to use --dynamic-list as you recommended and test command "postgresql_setup initdb",

after I added all the symbols in dict_snowball.so, it will report undefined symbolsfor another lib. I know I can try to

add all the symbols for all the libs. but there are nearly 80+ libs generated by postgresql. There will be many symbols.

And I also worried that, we may missing some symbols since I may cannot cover all the runtime cases.

From [2], we can know that postgresql use "-Wl,--export-dynamic" before.

So maybe it is better to still use "-Wl,--export-dynamic" like before? what is your opinion?

Thanks

Changqing

  inherit autotools pkgconfig perlnative python3native python3targetconfig 
useradd update-rc.d systemd gettext cpan-base multilib_header

--
2.25.1




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#109326): 
https://lists.openembedded.org/g/openembedded-devel/message/109326
Mute This Topic: https://lists.openembedded.org/mt/104922226/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to