Thread: Re: [pgsql-hackers-win32] Static build of libpq fails

Re: [pgsql-hackers-win32] Static build of libpq fails

From
"Dave Page"
Date:

> -----Original Message-----
> From: Bruce Momjian [mailto:pgman@candle.pha.pa.us]
> Sent: 12 October 2004 02:08
> To: Dave Page
> Cc: pgsql-hackers-win32@postgresql.org; PostgreSQL-patches
> Subject: Re: [pgsql-hackers-win32] Static build of libpq fails
>
> Dave Page wrote:
> > Hi,
> >
> > I tried building a static libpq with Mingw, which it seems doesn't
> > work any more:
> >
> > make[3]: *** No rule to make target `libpq.a', needed by
> > `all-static-lib'.  Stop.
> > make[3]: Leaving directory `/cvs/pgsql/src/interfaces/libpq'
> > make[2]: *** [all] Error 2
> > make[2]: Leaving directory `/cvs/pgsql/src/interfaces'
> > make[1]: *** [all] Error 2
> > make[1]: Leaving directory `/cvs/pgsql/src'
> > make: *** [all] Error 2
> >
> > I can work around this easily enough, however it should
> obviously get
> > fixed at some point.
>
> I got it working easily by doing 'gmake all-static-lib' from
> the src/interfaces/libpq directory.  Is it supposed to work
> somewhere else?

$ ./configure --disable-shared; make all

Will fail (and still does with cvs tip). I normally use that on Linux -
I assume it should also work on Mingw.

Regards, Dave


Re: [pgsql-hackers-win32] Static build of libpq fails

From
Bruce Momjian
Date:
I was able to reproduce the failure, and the attached applied patch
fixes the problem.  Seems someone just disable the libpq.a make rule in
Makefile.shlib, probably because it didn't used to work, but it does
now.  I am not sure about Cygwin but our build experience so far is that
if it works on Win32, it works on Cygwin, so I enabled it for both.

---------------------------------------------------------------------------

Dave Page wrote:
>
>
> > -----Original Message-----
> > From: Bruce Momjian [mailto:pgman@candle.pha.pa.us]
> > Sent: 12 October 2004 02:08
> > To: Dave Page
> > Cc: pgsql-hackers-win32@postgresql.org; PostgreSQL-patches
> > Subject: Re: [pgsql-hackers-win32] Static build of libpq fails
> >
> > Dave Page wrote:
> > > Hi,
> > >
> > > I tried building a static libpq with Mingw, which it seems doesn't
> > > work any more:
> > >
> > > make[3]: *** No rule to make target `libpq.a', needed by
> > > `all-static-lib'.  Stop.
> > > make[3]: Leaving directory `/cvs/pgsql/src/interfaces/libpq'
> > > make[2]: *** [all] Error 2
> > > make[2]: Leaving directory `/cvs/pgsql/src/interfaces'
> > > make[1]: *** [all] Error 2
> > > make[1]: Leaving directory `/cvs/pgsql/src'
> > > make: *** [all] Error 2
> > >
> > > I can work around this easily enough, however it should
> > obviously get
> > > fixed at some point.
> >
> > I got it working easily by doing 'gmake all-static-lib' from
> > the src/interfaces/libpq directory.  Is it supposed to work
> > somewhere else?
>
> $ ./configure --disable-shared; make all
>
> Will fail (and still does with cvs tip). I normally use that on Linux -
> I assume it should also work on Mingw.
>
> Regards, Dave
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>                http://archives.postgresql.org
>

--
  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: src/Makefile.shlib
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.shlib,v
retrieving revision 1.82
diff -c -c -r1.82 Makefile.shlib
*** src/Makefile.shlib    12 Oct 2004 22:20:17 -0000    1.82
--- src/Makefile.shlib    13 Oct 2004 09:44:13 -0000
***************
*** 249,257 ****

  all-shared-lib: $(PTHREAD_H_WIN32) $(top_builddir)/src/port/pg_config_paths.h $(shlib)

- ifneq ($(PORTNAME), cygwin)
- ifneq ($(PORTNAME), win32)
-
  ifndef LORDER
  MK_NO_LORDER := true
  endif
--- 249,254 ----
***************
*** 264,272 ****
  endif
      $(RANLIB) $@

- endif # not win32
- endif # not cygwin
-
  ifeq ($(enable_shared), yes)

  ifneq ($(PORTNAME), win32)
--- 261,266 ----