Re: --with-tcl build on AIX (and others) fails

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Zeugswetter Andreas SB SD <ZeugswetterA(at)spardat(dot)at>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: --with-tcl build on AIX (and others) fails
Date: 2002-02-23 04:42:05
Message-ID: Pine.LNX.4.30.0202222336070.686-100000@peter.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Tom Lane writes:

> I tried out the patch that Andreas sent in a couple weeks ago, and find
> that as-is it fails on HPUX. The attached version works okay on both
> HPUX 10.20 and RH Linux 7.2, however. Anyone want to try it on other
> platforms? (Note this only covers Andreas' proposed changes for pltcl,
> not for libpgtcl.)

Back to this one...

I think we're hung up on this part:

> ! # Set up extra libs that must be mentioned in pltcl.so's link command.
> ! # Aside from libtcl.so, on many platforms we must mention the shared
> ! # libraries that libtcl.so depends on. Don't forget -lc, which the
> ! # Tcl makefiles unaccountably exclude from $(TCL_LIBS).
>
> ifneq ($(TCL_SHLIB_LD_LIBS),)
> # link command for a shared lib must mention shared libs it uses
> ! SHLIB_LINK=$(TCL_LIB_SPEC) $(TCL_LIBS) -lc
> else
> ifeq ($(PORTNAME), hpux)
> # link command for a shared lib must mention shared libs it uses,
> # even though Tcl doesn't think so...
> ! SHLIB_LINK=$(TCL_LIB_SPEC) $(TCL_LIBS) -lc
> else
> # link command for a shared lib must NOT mention shared libs it uses
> ! SHLIB_LINK=$(TCL_LIB_SPEC)
> endif
> endif

This is still wrong because it depends on information that Tcl generated
during its build using its compiler and linker configuration.

Also, if you use GCC to link, specifying -lc is almost certainly wrong in
any case.

I think what should work is this: Assign

SHLIB_LINK = $(TCL_LIB_SPEC) $(TCL_LIBS)

unconditionally. If the port doesn't like mention of shared lib
dependencies, it should ignore SHLIB_LINK in Makefile.shlib. If the port
wants to have -lc, it should add it to SHLIB_LINK in Makefile.shlib.

--
Peter Eisentraut peter_e(at)gmx(dot)net

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2002-02-23 05:20:04 Re: elog() proposal
Previous Message Bruce Momjian 2002-02-23 04:16:56 Full 7.3 list

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2002-02-23 18:47:54 Re: IPv6 Support for INET/CIDR types.
Previous Message Bruce Momjian 2002-02-23 04:24:18 Re: Patch to add Heimdal kerberos support