Re: [PATCHES] [HACKERS] HEAD doesn't cope with libraries in non-default locations

2005-07-03 Thread Tom Lane
Bruce Momjian  writes:
> Tom Lane wrote:
>> It appears that somebody has changed things so that the -L switches
>> appear after the -l switches (ie, too late).  I'm too tired to
>> investigate now, but my money is on Autoconf 2.59 being the problem ...

> I wonder if it was this commit.  I am attaching the patch so you can
> test to see if it fixes it.  If it does, please let us know.
  
> ! SHLIB_LINK := $(filter -L%, $(LDFLAGS)) $(SHLIB_LINK)
> ...  
> ! SHLIB_LINK := $(SHLIB_LINK) $(filter -L%, $(LDFLAGS))

Urgh.  This was considered a good idea why exactly?

regards, tom lane

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [PATCHES] [HACKERS] HEAD doesn't cope with libraries in non-default locations

2005-07-03 Thread Bruce Momjian
Tom Lane wrote:
> CVS tip fails with 
>   ./configure --with-openssl \
> --with-includes=/usr/local/ssl/include --with-libs=/usr/local/ssl/lib
> 
> ...
> make[3]: Entering directory `/home/postgres/pgsql/src/interfaces/libpq'
> ...
> /usr/ccs/bin/ld +h libpq.sl.4 -b +b /home/postgres/testversion/lib  fe-auth.o 
> fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o fe-protocol2.o 
> fe-protocol3.o pqexpbuffer.o pqsignal.o fe-secure.o md5.o ip.o wchar.o 
> encnames.o noblock.o pgstrcasecmp.o thread.o getaddrinfo.o -lssl -lcrypto  
> `gcc -L../../../src/port -L/usr/local/ssl/lib -Wl,-z -Wl,+b 
> -Wl,/home/postgres/testversion/lib -print-libgcc-file-name` 
> -L../../../src/port -L/usr/local/ssl/lib  -o libpq.sl.4
> /usr/ccs/bin/ld: Can't find library for -lssl
> make[3]: *** [libpq.sl.4] Error 1
> 
> It appears that somebody has changed things so that the -L switches
> appear after the -l switches (ie, too late).  I'm too tired to
> investigate now, but my money is on Autoconf 2.59 being the problem ...

I wonder if it was this commit.  I am attaching the patch so you can
test to see if it fixes it.  If it does, please let us know.

---

revision 1.91
date: 2005/07/02 23:28:22;  author: momjian;  state: Exp;  lines: +2 -2
> A quick look shows that when you use --with-libraries=/foo/bar the
> generated link line for libraries says
>
>  -L/foo/bar -lpq
>
> and it should probably be the other way around (as it is for the
> executables).
>
> So I suspect we need some makefile tuning.

You were correct. This patch fixes it.

Jim C. Nasby

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  pgman@candle.pha.pa.us   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073
Index: Makefile.shlib
===
RCS file: /cvsroot/pgsql/src/Makefile.shlib,v
retrieving revision 1.90
retrieving revision 1.91
diff -c -c -r1.90 -r1.91
*** Makefile.shlib  20 Nov 2004 21:13:04 -  1.90
--- Makefile.shlib  2 Jul 2005 23:28:22 -   1.91
***
*** 240,246 
SHLIB_LINK  += -ltermcap -lstdc++.r4 -lbind -lsocket 
-L/boot/develop/lib/x86
  endif
  
! SHLIB_LINK := $(filter -L%, $(LDFLAGS)) $(SHLIB_LINK)
  ifeq ($(enable_rpath), yes)
  SHLIB_LINK += $(rpath)
  endif
--- 240,246 
SHLIB_LINK  += -ltermcap -lstdc++.r4 -lbind -lsocket 
-L/boot/develop/lib/x86
  endif
  
! SHLIB_LINK := $(SHLIB_LINK) $(filter -L%, $(LDFLAGS))
  ifeq ($(enable_rpath), yes)
  SHLIB_LINK += $(rpath)
  endif

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings