BUG #7522: ecpg build error

Started by Radu Ovidiu Iliesover 13 years ago3 messagesbugs
Jump to latest
#1Radu Ovidiu Ilies
iradu@unix-world.org

The following bug has been logged on the website:

Bug reference: 7522
Logged by: Radu Ovidiu
Email address: iradu@unix-world.org
PostgreSQL version: 9.0.9
Operating system: NetBSD
Description:

Hi,
I am trying to build the PostgreSQL 9.0.9 over NetBSD 5.1.2 (64-bit).
I got the following error.
I tried to compile the 9.1.5 and still the same error.
The 8.3.17 and 8.4.11 (are OK) they are compiling with no errors (under the
same build script).
Cand be this because I am using one of this flags: -O2 -fPIC -m64 ?
It should not be because under the same build system I am compiling
successfully all other software (includding PostgreSQL 8.x) but the 9.x
throws this error. Perhaps you forgot to mention (define) somewhere these
variables (ECPGt_string and ECPGt_sqlda) ?

#### The compile error (PostgreSQL 9.x):
...
rm -f thread.c && ln -s ../../../src/port/thread.c .
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -DFRONTEND -DUNSAFE_STAT_OK -I.
-I../../../src/include -O2 -fPIC -m64 -I/opt/unixw/include
-I/opt/unixw/include/libxml2 -I/opt/unixw -I../../../src/port
-I../../../src/port -DSO_MAJOR_VERSION=5 -c -o thread.o thread.c -MMD -MP
-MF .deps/thread.Po
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -shared -Wl,-x,-soname,libpq.so.5 -o
libpq.so.5.3 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
libpq-events.o md5.o ip.o wchar.o encnames.o noblock.o pgstrcasecmp.o
thread.o -L../../../src/port -O2 -fPIC -m64 -R/opt/unixw/lib
-L/opt/unixw/lib -L/opt/unixw/lib -L/opt/unixw -Wl,--as-needed
-Wl,-R'/opt/unixw/lib' -lssl -lcrypto -lcrypt -lpthread
rm -f libpq.so.5
ln -s libpq.so.5.3 libpq.so.5
rm -f libpq.so
ln -s libpq.so.5.3 libpq.so
ar cr libpq.a 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
libpq-events.o md5.o ip.o wchar.o encnames.o noblock.o pgstrcasecmp.o
thread.o
ranlib libpq.a
gmake[3]: Leaving directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/libpq'
gmake[3]: Entering directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg'
/opt/unixw/bin/gmake -C include all
gmake[4]: Entering directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/include'
gmake[4]: Nothing to be done for `all'.
gmake[4]: Leaving directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/include'
/opt/unixw/bin/gmake -C pgtypeslib all
gmake[4]: Entering directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/pgtypeslib'
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/include/utils
-I../../../../src/interfaces/libpq -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=3 -c -o numeric.o numeric.c -MMD -MP -MF
.deps/numeric.Po
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/include/utils
-I../../../../src/interfaces/libpq -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=3 -c -o datetime.o datetime.c -MMD -MP -MF
.deps/datetime.Po
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/include/utils
-I../../../../src/interfaces/libpq -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=3 -c -o common.o common.c -MMD -MP -MF .deps/common.Po
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/include/utils
-I../../../../src/interfaces/libpq -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=3 -c -o dt_common.o dt_common.c -MMD -MP -MF
.deps/dt_common.Po
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/include/utils
-I../../../../src/interfaces/libpq -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=3 -c -o timestamp.o timestamp.c -MMD -MP -MF
.deps/timestamp.Po
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/include/utils
-I../../../../src/interfaces/libpq -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=3 -c -o interval.o interval.c -MMD -MP -MF
.deps/interval.Po
rm -f pgstrcasecmp.c && ln -s ../../../../src/port/pgstrcasecmp.c .
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/include/utils
-I../../../../src/interfaces/libpq -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=3 -c -o pgstrcasecmp.o pgstrcasecmp.c -MMD -MP -MF
.deps/pgstrcasecmp.Po
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -shared
-Wl,-x,-soname,libpgtypes.so.3 -o libpgtypes.so.3.1 numeric.o datetime.o
common.o dt_common.o timestamp.o interval.o pgstrcasecmp.o
-L../../../../src/port -O2 -fPIC -m64 -R/opt/unixw/lib -L/opt/unixw/lib
-L/opt/unixw/lib -L/opt/unixw -Wl,--as-needed -Wl,-R'/opt/unixw/lib' -lm
rm -f libpgtypes.so.3
ln -s libpgtypes.so.3.1 libpgtypes.so.3
rm -f libpgtypes.so
ln -s libpgtypes.so.3.1 libpgtypes.so
ar cr libpgtypes.a numeric.o datetime.o common.o dt_common.o timestamp.o
interval.o pgstrcasecmp.o
ranlib libpgtypes.a
gmake[4]: Leaving directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/pgtypeslib'
/opt/unixw/bin/gmake -C ecpglib all
gmake[4]: Entering directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/ecpglib'
/opt/unixw/bin/gmake -C ../../../../src/interfaces/libpq all
gmake[5]: Entering directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/libpq'
gmake[5]: Nothing to be done for `all'.
gmake[5]: Leaving directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/libpq'
/opt/unixw/bin/gmake -C ../../../../src/interfaces/ecpg/pgtypeslib all
gmake[5]: Entering directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/pgtypeslib'
gmake[5]: Nothing to be done for `all'.
gmake[5]: Leaving directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/pgtypeslib'
gcc -O2 -fPIC -m64 -I/opt/unixw/include -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -pthread -D_REENTRANT -D_THREAD_SAFE
-D_POSIX_PTHREAD_SEMANTICS -fpic -DPIC -I../include
-I../../../../src/interfaces/ecpg/include -I../../../../src/interfaces/libpq
-I../../../../src/port -I../../../../src/include -O2 -fPIC -m64
-I/opt/unixw/include -I/opt/unixw/include/libxml2 -I/opt/unixw
-DSO_MAJOR_VERSION=6 -c -o execute.o execute.c -MMD -MP -MF
.deps/execute.Po
execute.c: In function 'ecpg_store_result':
execute.c:366: error: 'ECPGt_string' undeclared (first use in this
function)
execute.c:366: error: (Each undeclared identifier is reported only once
execute.c:366: error: for each function it appears in.)
execute.c: In function 'ecpg_store_input':
execute.c:797: error: 'ECPGt_string' undeclared (first use in this
function)
execute.c:1072: error: 'ECPGt_sqlda' undeclared (first use in this
function)
execute.c: In function 'ecpg_execute':
execute.c:1212: error: 'ECPGt_sqlda' undeclared (first use in this
function)
gmake[4]: *** [execute.o] Error 1
gmake[4]: Leaving directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg/ecpglib'
gmake[3]: *** [all] Error 2
gmake[3]: Leaving directory
`/_SRC/pgsql/postgresql-9.0.9/src/interfaces/ecpg'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/_SRC/pgsql/postgresql-9.0.9/src/interfaces'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/_SRC/pgsql/postgresql-9.0.9/src'
gmake: *** [all] Error 2
### End of error

Cheers,
Radu

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Radu Ovidiu Ilies (#1)
Re: BUG #7522: ecpg build error

iradu@unix-world.org writes:

I am trying to build the PostgreSQL 9.0.9 over NetBSD 5.1.2 (64-bit).
I got the following error.
I tried to compile the 9.1.5 and still the same error.
The 8.3.17 and 8.4.11 (are OK) they are compiling with no errors (under the
same build script).

ECPGt_string is defined in ecpgtype.h in 9.0 and later. I am betting
that you have a pre-9.0 copy of that file somewhere where it's being
found in preference to the intended version.

regards, tom lane

#3Radu Ovidiu Ilies
iradu@unix-world.org
In reply to: Tom Lane (#2)
Re: BUG #7522: ecpg build error

Yes, you are right.
After I checked the sha1 of file I found was modified.
It was downloaded from other location than postgresql and was named postgresql-9.0.9.tar.bz2, but was not the final.
After I downloaded the original from postgresql.org everything works smooth.
Thanks,
Radu

On Sep 7, 2012, at 7:59, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Show quoted text

iradu@unix-world.org writes:

I am trying to build the PostgreSQL 9.0.9 over NetBSD 5.1.2 (64-bit).
I got the following error.
I tried to compile the 9.1.5 and still the same error.
The 8.3.17 and 8.4.11 (are OK) they are compiling with no errors (under the
same build script).

ECPGt_string is defined in ecpgtype.h in 9.0 and later. I am betting
that you have a pre-9.0 copy of that file somewhere where it's being
found in preference to the intended version.

regards, tom lane