Re: 8.0 beta 2, configuation for ECPG seems to lack something - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: 8.0 beta 2, configuation for ECPG seems to lack something
Date
Msg-id 200409020157.i821vFZ20971@candle.pha.pa.us
Whole thread Raw
In response to Re: 8.0 beta 2, configuation for ECPG seems to lack something for MINGW  ("Dann Corbit" <DCorbit@connx.com>)
List pgsql-hackers
Yes, I just realized the problem myself.  The cause is that you ran
win32.mak, creating the SYSCONFDIR-only file, then went to build ecpg
using MinGW.

We really should have a way to prevent such problems.  The issue is that
Unix and MinGW builds use port/pg_config_paths.h with full values, while
the libpq/*.mak files don't have these values (because of no configure
run) and they should be in the libpq directory rather than in the
src/port directory so the build doesn't have to go looking into /port
more than it has to.

What I just applied (attached) is a change that will allow win32.mak
'clean' remove the file so the build of ecpg will recreate it properly
and not see the old version in libpq.  I made the same change in psql.

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

Dann Corbit wrote:
> It seems that there are two identically named include files:
>
> U:\postgresql-8.0.0beta2\src\interfaces\libpq>type pg_config_paths.h
> #define SYSCONFDIR ""
>
> U:\postgresql-8.0.0beta2\src\port>type pg_config_paths.h
> #define PGBINDIR "/usr/local/pgsql/bin"
> #define PGSHAREDIR "/usr/local/pgsql/share"
> #define SYSCONFDIR "/usr/local/pgsql/etc"
> #define INCLUDEDIR "/usr/local/pgsql/include"
> #define PKGINCLUDEDIR "/usr/local/pgsql/include"
> #define INCLUDEDIRSERVER "/usr/local/pgsql/include/server"
> #define LIBDIR "/usr/local/pgsql/lib"
> #define PKGLIBDIR "/usr/local/pgsql/lib"
> #define LOCALEDIR ""
>
> > -----Original Message-----
> > From: Dann Corbit
> > Sent: Wednesday, September 01, 2004 1:30 PM
> > To: Dann Corbit; PostgreSQL-development
> > Subject: RE: [HACKERS] 8.0 beta 2, configuation for ECPG
> > seems to lack something for MINGW
> >
> >
> > I see that these symbols are found in src\port\pg_config_paths.h
> >
> > I will try to find out why that file did not get included in path.c
> >
> > > -----Original Message-----
> > > From: pgsql-hackers-owner@postgresql.org
> > > [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Dann Corbit
> > > Sent: Wednesday, September 01, 2004 1:26 PM
> > > To: PostgreSQL-development
> > > Subject: [HACKERS] 8.0 beta 2, configuation for ECPG seems to
> > > lack something for MINGW
> > >
> > >
> > > Probably an error on my part.  I assume that there is some
> > > configuration script that is supposed to define the following:
> > >
> > >     INCLUDEDIR
> > >     INCLUDEDIRSERVER
> > >     LIBDIR
> > >     LOCALEDIR
> > >     PGBINDIR
> > >     PGSHAREDIR
> > >     PKGINCLUDEDIR
> > >     PKGLIBDIR
> > >
> > > Because of this:
> > >
> > > make -C ecpglib all
> > > make[4]: Entering directory
> > > `/u/postgresql-8.0.0beta2/src/interfaces/ecpg/ecpglib'
> > > gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > execute.o execute.c gcc -O2 -fno-strict-aliasing -Wall
> > > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > typename.o typename.c gcc -O2 -fno-strict-aliasing -Wall
> > > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > descriptor.o descriptor.c gcc -O2 -fno-strict-aliasing -Wall
> > > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > data.o data.c gcc -O2 -fno-strict-aliasing -Wall
> > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > error.o error.c gcc -O2 -fno-strict-aliasing -Wall
> > > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > prepare.o prepare.c gcc -O2 -fno-strict-aliasing -Wall
> > > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > memory.o memory.c gcc -O2 -fno-strict-aliasing -Wall
> > > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > connect.o connect.c gcc -O2 -fno-strict-aliasing -Wall
> > > -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > misc.o misc.c rm -f path.c && ln -s
> > > ../../../../src/port/path.c . gcc -O2 -fno-strict-aliasing
> > > -Wall -Wmissing-prototypes
> > > -Wmissing-declarations   -DFRONTEND
> > > -I../../../../src/interfaces/ecpg/include
> > > -I../../../../src/interfaces/libpq -I../../../../src/port
> > > -I../../../../src/include -I./src/include/port/win32
> > > -DEXEC_BACKEND "-I../../../../src/include/port/win32"  -c -o
> > > path.o path.c
> > > path.c: In function `get_share_path':
> > > path.c:198: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c:198: error: (Each undeclared identifier is reported only once
> > > path.c:198: error: for each function it appears in.)
> > > path.c:198: error: `PGSHAREDIR' undeclared (first use in this
> > > function)
> > > path.c: In function `get_etc_path':
> > > path.c:215: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c: In function `get_include_path':
> > > path.c:232: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c:232: error: `INCLUDEDIR' undeclared (first use in this
> > > function)
> > > path.c: In function `get_pkginclude_path':
> > > path.c:249: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c:249: error: `PKGINCLUDEDIR' undeclared (first use in this
> > > function)
> > > path.c: In function `get_includeserver_path':
> > > path.c:266: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c:266: error: `INCLUDEDIRSERVER' undeclared (first use in this
> > > function)
> > > path.c: In function `get_lib_path':
> > > path.c:283: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c:283: error: `LIBDIR' undeclared (first use in this function)
> > > path.c: In function `get_pkglib_path':
> > > path.c:300: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c:300: error: `PKGLIBDIR' undeclared (first use in
> > this function)
> > > path.c: In function `get_locale_path':
> > > path.c:319: error: `PGBINDIR' undeclared (first use in this
> > function)
> > > path.c:319: error: `LOCALEDIR' undeclared (first use in
> > this function)
> > > make[4]: *** [path.o] Error 1
> > > make[4]: Leaving directory
> > > `/u/postgresql-8.0.0beta2/src/interfaces/ecpg/ecpglib'
> > > make[3]: *** [all] Error 2
> > > make[3]: Leaving directory
> > > `/u/postgresql-8.0.0beta2/src/interfaces/ecpg'
> > > make[2]: *** [all] Error 2
> > > make[2]: Leaving directory `/u/postgresql-8.0.0beta2/src/interfaces'
> > > make[1]: *** [all] Error 2
> > > make[1]: Leaving directory `/u/postgresql-8.0.0beta2/src'
> > > make: *** [all] Error 2
> > >
> > > ---------------------------(end of
> > > broadcast)---------------------------
> > > TIP 4: Don't 'kill -9' the postmaster
> > >
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>

--
  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/bin/psql/bcc32.mak
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/bcc32.mak,v
retrieving revision 1.6
diff -c -c -r1.6 bcc32.mak
*** src/bin/psql/bcc32.mak    1 Sep 2004 23:45:16 -0000    1.6
--- src/bin/psql/bcc32.mak    2 Sep 2004 01:48:29 -0000
***************
*** 81,86 ****
--- 81,87 ----
      -@erase "$(INTDIR)\psql.ils"
      -@erase "$(INTDIR)\psql.ilf"
      -@erase "$(OUTDIR)\psql.exe"
+     -@erase "$(INTDIR)\pg_config_paths.h"

  pg_config_paths.h: win32.mak
      echo "#define PGBINDIR "">$@
Index: src/bin/psql/win32.mak
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/win32.mak,v
retrieving revision 1.18
diff -c -c -r1.18 win32.mak
*** src/bin/psql/win32.mak    1 Sep 2004 23:45:16 -0000    1.18
--- src/bin/psql/win32.mak    2 Sep 2004 01:48:30 -0000
***************
*** 41,46 ****
--- 41,47 ----
      -@erase "$(INTDIR)\mbprint.obj"
      -@erase "$(INTDIR)\*psql.pch"
      -@erase "$(OUTDIR)\psql.exe"
+     -@erase "$(INTDIR)\pg_config_paths.h"

  pg_config_paths.h: win32.mak
      echo "#define PGBINDIR "">$@
Index: src/interfaces/libpq/bcc32.mak
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/libpq/bcc32.mak,v
retrieving revision 1.8
diff -c -c -r1.8 bcc32.mak
*** src/interfaces/libpq/bcc32.mak    1 Sep 2004 23:35:16 -0000    1.8
--- src/interfaces/libpq/bcc32.mak    2 Sep 2004 01:48:32 -0000
***************
*** 124,129 ****
--- 124,130 ----
      -@erase "$(OUTDIR)\blibpqdll.lib"
      -@erase "$(OUTDIR)\blibpq.dll"
      -@erase "$(OUTDIR)\blibpq.tds"
+     -@erase "$(INTDIR)\pg_config_paths.h"

  config: ..\..\include\pg_config.h pthread.h pg_config_paths.h

Index: src/interfaces/libpq/win32.mak
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/libpq/win32.mak,v
retrieving revision 1.25
diff -c -c -r1.25 win32.mak
*** src/interfaces/libpq/win32.mak    19 Jun 2004 04:22:17 -0000    1.25
--- src/interfaces/libpq/win32.mak    2 Sep 2004 01:48:33 -0000
***************
*** 75,81 ****
      -@erase "$(INTDIR)\wchar.obj"
      -@erase "$(INTDIR)\encnames.obj"
      -@erase "$(INTDIR)\pthread-win32.obj"
!


  config: ..\..\include\pg_config.h pthread.h pg_config_paths.h
--- 75,81 ----
      -@erase "$(INTDIR)\wchar.obj"
      -@erase "$(INTDIR)\encnames.obj"
      -@erase "$(INTDIR)\pthread-win32.obj"
!     -@erase "$(INTDIR)\pg_config_paths.h"


  config: ..\..\include\pg_config.h pthread.h pg_config_paths.h

pgsql-hackers by date:

Previous
From: "Ameya S. Sakhalkar"
Date:
Subject: Implementation of MMDBMS
Next
From: Bruce Momjian
Date:
Subject: My upcoming trip