Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Static build of libpq fails


  • From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
  • To: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
  • Cc: pgsql-hackers-win32(at)postgresql(dot)org, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
  • Subject: Re: Static build of libpq fails
  • Date: Mon, 11 Oct 2004 21:08:21 -0400 (EDT)
  • Message-id: <200410120108(dot)i9C18L318394(at)candle(dot)pha(dot)pa(dot)us>

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?

The attached patch adds some pg_config_paths.h dependencies that are
missing.  I am now wondering if we should have that file generated by
configure, but that defeats the ability to modify Makefile.global to
change settings so I guess we are stuck with what we have currently.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)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.79
diff -c -c -r1.79 Makefile.shlib
*** src/Makefile.shlib	8 Oct 2004 04:22:59 -0000	1.79
--- src/Makefile.shlib	12 Oct 2004 00:56:46 -0000
***************
*** 245,253 ****
  
  all-lib: all-static-lib all-shared-lib
  
! all-static-lib: lib$(NAME).a
  
! all-shared-lib: $(shlib)
  
  ifneq ($(PORTNAME), cygwin)
  ifneq ($(PORTNAME), win32)
--- 245,253 ----
  
  all-lib: all-static-lib all-shared-lib
  
! all-static-lib: $(PTHREAD_H_WIN32) $(top_srcdir)/src/port/pg_config_paths.h lib$(NAME).a
  
! all-shared-lib: $(PTHREAD_H_WIN32) $(top_srcdir)/src/port/pg_config_paths.h $(shlib)
  
  ifneq ($(PORTNAME), cygwin)
  ifneq ($(PORTNAME), win32)
Index: src/interfaces/ecpg/ecpglib/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/Makefile,v
retrieving revision 1.26
diff -c -c -r1.26 Makefile
*** src/interfaces/ecpg/ecpglib/Makefile	4 Oct 2004 20:36:11 -0000	1.26
--- src/interfaces/ecpg/ecpglib/Makefile	12 Oct 2004 00:56:54 -0000
***************
*** 30,36 ****
  SHLIB_LINK = -L../pgtypeslib -lpgtypes $(libpq) \
  	$(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) $(PTHREAD_LIBS)
  
! all: all-lib
  
  # Shared library stuff
  include $(top_srcdir)/src/Makefile.shlib
--- 30,36 ----
  SHLIB_LINK = -L../pgtypeslib -lpgtypes $(libpq) \
  	$(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) $(PTHREAD_LIBS)
  
! all: $(top_srcdir)/src/port/pg_config_paths.h all-lib
  
  # Shared library stuff
  include $(top_srcdir)/src/Makefile.shlib
***************
*** 46,51 ****
--- 46,54 ----
  exec.c: % : $(top_srcdir)/src/port/%
  	rm -f $@ && $(LN_S) $< .
  
+ $(top_srcdir)/src/port/pg_config_paths.h:
+ 	$(MAKE) -C $(top_srcdir)/src/port pg_config_paths.h
+ 
  install: all installdirs install-lib
  
  installdirs:
Index: src/interfaces/libpq/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v
retrieving revision 1.115
diff -c -c -r1.115 Makefile
*** src/interfaces/libpq/Makefile	6 Oct 2004 16:42:01 -0000	1.115
--- src/interfaces/libpq/Makefile	12 Oct 2004 00:56:54 -0000
***************
*** 31,43 ****
  	$(filter crypt.o getaddrinfo.o inet_aton.o open.o snprintf.o strerror.o, $(LIBOBJS))
  
  ifeq ($(PORTNAME), win32)
! OBJS+=win32.o libpqrc.o
! libpqrc.o: libpq.rc
  	windres -i libpq.rc -o libpqrc.o
  ifeq ($(enable_thread_safety), yes)
  # This doesn't work yet because configure test fails.  2004-06-19
! OBJS+=pthread-win32.o
! PTHREAD_H_WIN32=yes
  endif
  endif
  
--- 31,43 ----
  	$(filter crypt.o getaddrinfo.o inet_aton.o open.o snprintf.o strerror.o, $(LIBOBJS))
  
  ifeq ($(PORTNAME), win32)
! OBJS += win32.o libpqrc.o
! libpqrc.o : libpq.rc
  	windres -i libpq.rc -o libpqrc.o
  ifeq ($(enable_thread_safety), yes)
  # This doesn't work yet because configure test fails.  2004-06-19
! OBJS += pthread-win32.o
! PTHREAD_H_WIN32 = yes
  endif
  endif
  
***************
*** 51,57 ****
  endif
  
  
! all: $(PTHREAD_H_WIN32) all-lib
  
  # Shared library stuff
  include $(top_srcdir)/src/Makefile.shlib
--- 51,57 ----
  endif
  
  
! all: $(PTHREAD_H_WIN32) $(top_srcdir)/src/port/pg_config_paths.h all-lib
  
  # Shared library stuff
  include $(top_srcdir)/src/Makefile.shlib
***************
*** 83,88 ****
--- 83,91 ----
  	rm -f $@ && $(LN_S) $< .
  endif
  
+ $(top_srcdir)/src/port/pg_config_paths.h:
+ 	$(MAKE) -C $(top_srcdir)/src/port pg_config_paths.h
+ 
  install: all installdirs install-lib
  	$(INSTALL_DATA) $(srcdir)/libpq-fe.h $(DESTDIR)$(includedir)
  	$(INSTALL_DATA) $(srcdir)/libpq-int.h $(DESTDIR)$(includedir_internal)


Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group