FAQ
There was a discussion some time back concerning the linking of the
postgres backend. Some libraries where linked although they where not
needed, mainly because it was convenient. I had a problem with PL/Java
since a Sun JVM ships with their own version of libz.so (they call it
libzip.so). Sun fixed the problem, simply by adding a namespace to all
functions in their own library so I didn't stress the issue any further.
Now this bites me again. Sun forgot to remove the old functions in their
libzip.so on the amd64 platform.

I have of course reported this to Sun and I expect it to be fixed in
future releases of Java but shouldn't this be fixed for PostgreSQL too?
Perhaps we should consider this a more generic problem. The more
libraries that are linked with the backend, the greater the risk that
add-on modules will run into conflicts. What effort would be involved to
fix this once and for all?

Another related question. What happens when I use --without-zlib? Does
it have any effect on besides disabling compression for the dump/restore
utilities? Is there anyway to make it affect the backend only?

Kind Regards,
Thomas Hallgren

Search Discussions

  • William ZHANG at Jun 23, 2006 at 10:10 am
    "Thomas Hallgren" <thomas@tada.se>
    Another related question. What happens when I use --without-zlib? Does it
    have any effect on besides disabling compression for the dump/restore
    utilities? Is there anyway to make it affect the backend only?
    --without-zlib will affected LIBS and HAVE_LIBZ defined in configure.
    I searched HAVE_LIBZ in the source code, and find only pg_dump use it.
    I think we can change LIBS to not include "-lz" in configure, and add "-lz"
    for pg_dump in its Makefile.

    With regards,
    William ZHANG
    Kind Regards,
    Thomas Hallgren


    ---------------------------(end of broadcast)---------------------------
    TIP 4: Have you searched our list archives?

    http://archives.postgresql.org
  • Martijn van Oosterhout at Jun 23, 2006 at 10:36 am

    On Fri, Jun 23, 2006 at 10:45:29AM +0200, Thomas Hallgren wrote:
    There was a discussion some time back concerning the linking of the
    postgres backend. Some libraries where linked although they where not
    needed, mainly because it was convenient.
    AIUI, this was fixed in -HEAD. In the Makefile there's a filter command
    to strip libraries not needed. One of them is libz.

    From src/backend/Makefile:
    # The backend doesn't need everything that's in LIBS, however
    LIBS := $(filter-out -lz -lreadline -ledit -ltermcap -lncurses -lcurses, $(LIBS))

    Have a nice day,
    --
    Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
    From each according to his ability. To each according to his ability to litigate.
  • Thomas Hallgren at Jun 23, 2006 at 11:01 am
    That's good news. Any chance of getting this fix backported to 8.1? Or
    at least, the libz part of it?

    Regards,
    Thomas Hallgren


    Martijn van Oosterhout wrote:
    On Fri, Jun 23, 2006 at 10:45:29AM +0200, Thomas Hallgren wrote:

    There was a discussion some time back concerning the linking of the
    postgres backend. Some libraries where linked although they where not
    needed, mainly because it was convenient.
    AIUI, this was fixed in -HEAD. In the Makefile there's a filter command
    to strip libraries not needed. One of them is libz.

    From src/backend/Makefile:
    # The backend doesn't need everything that's in LIBS, however
    LIBS := $(filter-out -lz -lreadline -ledit -ltermcap -lncurses -lcurses, $(LIBS))

    Have a nice day,

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-hackers @
categoriespostgresql
postedJun 23, '06 at 8:45a
activeJun 23, '06 at 11:01a
posts4
users3
websitepostgresql.org...
irc#postgresql

People

Translate

site design / logo © 2022 Grokbase