Thread: BUG #2092: No answer to bug reports 1975 and 2055

BUG #2092: No answer to bug reports 1975 and 2055

From
""
Date:
The following bug has been logged online:

Bug reference:      2092
Logged by:
Email address:      dirk@pirschel.de
PostgreSQL version: ...
Operating system:   ...
Description:        No answer to bug reports 1975 and 2055
Details:

No answer to bug reports 1975 and 2055 yet. Are you going to fix these
issues, or is AIX currently unsupportet?

Re: BUG #2092: No answer to bug reports 1975 and 2055

From
Tom Lane
Date:
"" <dirk@pirschel.de> writes:
> No answer to bug reports 1975 and 2055 yet. Are you going to fix these
> issues, or is AIX currently unsupportet?

You seem to have a problem with missing SSL in the link, but I don't see
why that should be; ecpg certainly tries to link to ssl.  You'll need to
dig into it a little bit for yourself.  You haven't provided enough
context to let anyone else reproduce the problem, even if they had AIX
which most of us don't --- for example, what configure arguments did you
use?

            regards, tom lane

Re: BUG #2092: No answer to bug reports 1975 and 2055

From
Tom Lane
Date:
Dirk Pirschel <dirk@pirschel.de> writes:
>> for example, what configure arguments did you use?

> Nothing relevant.

> ./configure --prefix=$HOME/software --with-includes=/client/include --with-libs=/client/lib
> [...]
> checking whether to build with OpenSSL support... no

Well, *something* in your link is trying to pull in OpenSSL.

What exactly is in /client/lib ... could it be that there is an existing
SSL-dependent installation of libpq in there?  In theory the link should
find the libpq in ../../../../src/interfaces/libpq not the one in
/client/lib, but we've seen bizarre linker search behavior before ...

            regards, tom lane

Re: BUG #2092: No answer to bug reports 1975 and 2055

From
Tom Lane
Date:
I wrote:
> What exactly is in /client/lib ... could it be that there is an existing
> SSL-dependent installation of libpq in there?  In theory the link should
> find the libpq in ../../../../src/interfaces/libpq not the one in
> /client/lib, but we've seen bizarre linker search behavior before ...

Actually, not so bizarre as all that: looking at your command again, the
-L/client/lib is in there twice:

gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wendif-labels
-fno-strict-aliasing   -L../../../../src/port -L/client/lib  -Wl,-bnoentry
-Wl,-H512 -Wl,-bM:SRE -o libecpg.so libecpg.a -Wl,-bE:libecpg.exp
-L../pgtypeslib -L../../../../src/interfaces/libpq -L../../../../src/port
-L/client/lib -lpgtypes -lpq -lm

Assuming there is a libpq in /client/lib, I bet this patch will help.

            regards, tom lane

*** src/Makefile.shlib.orig    Fri Oct 28 13:32:22 2005
--- src/Makefile.shlib    Sat Dec  3 14:58:32 2005
***************
*** 76,81 ****
--- 76,84 ----
  # Insert -L from LDFLAGS after any -L already present in SHLIB_LINK
  SHLIB_LINK := $(filter -L%, $(SHLIB_LINK)) $(filter -L%, $(LDFLAGS)) $(filter-out -L%, $(SHLIB_LINK))

+ # Need a -L-free version of LDFLAGS to use in combination with SHLIB_LINK
+ LDFLAGS_NO_L := $(filter-out -L%, $(LDFLAGS))
+
  # Default shlib naming convention used by the majority of platforms
  shlib        = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
  shlib_major    = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
***************
*** 154,160 ****
  ifeq ($(PORTNAME), hpux)
    shlib            = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
    ifeq ($(with_gnu_ld), yes)
!     LINK.shared        = $(CC) $(LDFLAGS) -shared -Wl,-h -Wl,$(soname)
    else
      # can't use the CC-syntax rpath pattern here
      rpath =
--- 157,163 ----
  ifeq ($(PORTNAME), hpux)
    shlib            = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
    ifeq ($(with_gnu_ld), yes)
!     LINK.shared        = $(CC) $(LDFLAGS_NO_L) -shared -Wl,-h -Wl,$(soname)
    else
      # can't use the CC-syntax rpath pattern here
      rpath =
***************
*** 309,315 ****
  # AIX case
  $(shlib): lib$(NAME).a
      $(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
!     $(COMPILER) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $< -Wl,-bE:lib$(NAME)$(EXPSUFF) $(SHLIB_LINK)

  endif # PORTNAME == aix

--- 312,318 ----
  # AIX case
  $(shlib): lib$(NAME).a
      $(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
!     $(COMPILER) $(LDFLAGS_NO_L) $(LDFLAGS_SL) -o $@ $< -Wl,-bE:lib$(NAME)$(EXPSUFF) $(SHLIB_LINK)

  endif # PORTNAME == aix

Re: BUG #2092: No answer to bug reports 1975 and 2055

From
Dirk Pirschel
Date:
Hi Tom,

* Tom Lane wrote on Sat, 03 Dec 2005 at 13:11 -0500:
> * Dirk Pirschel writes:
>
> > No answer to bug reports 1975 and 2055 yet. Are you going to fix these
> > issues, or is AIX currently unsupportet?
>=20
> You seem to have a problem with missing SSL in the link, but I don't
> see why that should be; ecpg certainly tries to link to ssl.  You'll
> need to dig into it a little bit for yourself.  You haven't provided
> enough context to let anyone else reproduce the problem even if they
> had AIX which most of us don't

The first time, i have posted all configure and make output.  I received
a "message size too large" from the mailing list server.  Unfortunately,
the www bug reporting form did not complain about message size, only the
mail server does later.  The second time i have truncated the output to
the compiler errors.

> for example, what configure arguments did you use?

Nothing relevant.

./configure --prefix=3D$HOME/software --with-includes=3D/client/include --w=
ith-libs=3D/client/lib
[...]
checking whether to build with OpenSSL support... no

Any hints where to investigate?

-Dirk

--=20
Windoze is bootiful

Re: BUG #2092: No answer to bug reports 1975 and 2055

From
Dirk Pirschel
Date:
Hi Tom,

* Tom Lane wrote on Sat, 03 Dec 2005 at 15:02 -0500:
=20
> looking at your command again, the -L/client/lib is in there twice:
> [...]
> Assuming there is a libpq in /client/lib, I bet this patch will help.

$ cd postgresql-8.1.0
$ patch -i ~/patch src/Makefile.shlib
$ ./configure --prefix=3D$HOME/software --with-includes=3D/client/include -=
-with-libs=3D/client/lib
$ make
[...]
All of PostgreSQL successfully made. Ready to install.
$ make install
[...]
PostgreSQL installation complete.


Your patch works fine :-) Thanks!

Regards,
-Dirk

--=20
"If Microsoft can change and compete on quality, I've won." - Linus Torvalds

Re: BUG #2092: No answer to bug reports 1975 and 2055

From
Dirk Pirschel
Date:
Hi Tom,

* Tom Lane wrote on Sat, 03 Dec 2005 at 14:34 -0500:

> Well, *something* in your link is trying to pull in OpenSSL.
>=20
> What exactly is in /client/lib ... could it be that there is an existing
> SSL-dependent installation of libpq in there?  In theory the link should
> find the libpq in ../../../../src/interfaces/libpq not the one in
> /client/lib, but we've seen bizarre linker search behavior before ...

$ cd /client/lib
$ ls -l *libpq*
lrwxrwxrwx   1 root     system           41 Nov 18 2004  libpq.a -> /sw/rs_=
aix52/postgresql-7.4.6/lib/libpq.a
lrwxrwxrwx   1 root     system           42 Nov 18 2004  libpq.so -> /sw/rs=
_aix52/postgresql-7.4.6/lib/libpq.so
lrwxrwxrwx   1 root     system           44 Nov 18 2004  libpq.so.3 -> /sw/=
rs_aix52/postgresql-7.4.6/lib/libpq.so.3

Regards,
-Dirk

--=20
Close the windows - the penguin is freezing