The purpose of using static linking is to reduce dependencies to shared-libraries (dependencies to different types and versions of Linux), so an instance of postgreSQL, say built on Suse 9.0, would still work on Mandrake 10.1. Yes it gets a bit bulky and have a number of disadvantages over dynamic linking (on the plus side it would be a bit faster), however the main motivater is binary portability.

Regards,
-metin


----- Original Message ----- From: "Tom Lane" <[EMAIL PROTECTED]>
To: "Metin Ozisik" <[EMAIL PROTECTED]>
Cc: <pgsql-sql@postgresql.org>
Sent: Friday, April 29, 2005 9:38 PM
Subject: Re: [SQL] Build issues: "-static" builds resulting initdb problems



"Metin Ozisik" <[EMAIL PROTECTED]> writes:
Build time parameter: CFLAGS="-static" ./configure

Is there a particular reason for you to be doing that?

    creating conversions ... FATAL: could not load library =
"../ascii_and_misc.so": ../../ascii_and_misc.so: undefined symbol: =
pg_mic2ascii

pg_mic2ascii is a function exported by the core backend. I suppose that "-static" is somehow suppressing the visibility of that symbol to the dynamically loaded library ascii_and_misc.so. I am not sure whether this indicates a dynamic loader bug, or whether it's a case of "so don't do that then" ... but in any case I don't think it's a Postgres bug.

regards, tom lane



---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster

Reply via email to