Thread: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols
I'm building the contrib modules and get this: gcc -no-cpp-precomp -O3 -fno-common -arch x86_64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement-Wendif-labels -fno-strict-aliasing -fwrapv check.o controldata.o dump.o exec.o file.o function.oinfo.o option.o page.o pg_upgrade.o relfilenode.o server.o tablespace.o util.o version.o version_old_8_3.o -L../../src/port-lpgport -L../../src/interfaces/libpq -lpq -L../../src/port -O3 -fno-common -arch x86_64 -Wl,-dead_strip_dylibs -lpgport -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lm -o pg_upgrade ld: duplicate symbol _scandir_file_pattern in controldata.o and check.o My configure script looks like: export MACOSX_DEPLOYMENT_TARGET=10.6 export CC=gcc export CPP="gcc -E" export CXX=g++ export CXXFLAGS='-O3 -fno-common -arch x86_64' export CFLAGS='-O3 -fno-common -arch x86_64' export LDFLAGS='-O3 -fno-common -arch x86_64' ./configure \ --prefix=/usr \ --enable-integer-datetimes \ --with-tcl \ --with-perl \ --with-python \ --with-gssapi \ --with-krb5 \ --with-pam \ --with-ldap \ --with-bonjour \ --with-openssl \ --with-zlib make of the normal sources worked. But cd contrib make resulted in the error above. best regards, chris -- chris ruprecht specialist in obscure details
Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols
From
Josh Berkus
Date:
> make of the normal sources worked. > But > cd contrib > make > resulted in the error above. cd contrib, or cd contrib/pg_upgrade? -- -- Josh Berkus PostgreSQL Experts Inc. http://www.pgexperts.com
Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols
From
Bruce Momjian
Date:
Chris Ruprecht wrote: > I'm building the contrib modules and get this: > > gcc -no-cpp-precomp -O3 -fno-common -arch x86_64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement-Wendif-labels -fno-strict-aliasing -fwrapv check.o controldata.o dump.o exec.o file.o function.oinfo.o option.o page.o pg_upgrade.o relfilenode.o server.o tablespace.o util.o version.o version_old_8_3.o -L../../src/port-lpgport -L../../src/interfaces/libpq -lpq -L../../src/port -O3 -fno-common -arch x86_64 -Wl,-dead_strip_dylibs -lpgport -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lm -o pg_upgrade > ld: duplicate symbol _scandir_file_pattern in controldata.o and check.o Oops. That global variable was not properly defined; not sure why none of the other compilers caught that bug. Anyway, the attached patch should fix your problem, and will appear in 9.0 beta3. Thanks for the report. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + None of us is going to be here forever. + Index: contrib/pg_upgrade/pg_upgrade.h =================================================================== RCS file: /cvsroot/pgsql/contrib/pg_upgrade/pg_upgrade.h,v retrieving revision 1.7 diff -c -c -r1.7 pg_upgrade.h *** contrib/pg_upgrade/pg_upgrade.h 12 Jun 2010 17:45:28 -0000 1.7 --- contrib/pg_upgrade/pg_upgrade.h 15 Jun 2010 02:01:48 -0000 *************** *** 237,243 **** /* * Global variables */ ! char scandir_file_pattern[MAXPGPATH]; /* check.c */ --- 237,243 ---- /* * Global variables */ ! extern char scandir_file_pattern[]; /* check.c */ Index: contrib/pg_upgrade/relfilenode.c =================================================================== RCS file: /cvsroot/pgsql/contrib/pg_upgrade/relfilenode.c,v retrieving revision 1.3 diff -c -c -r1.3 relfilenode.c *** contrib/pg_upgrade/relfilenode.c 13 May 2010 22:51:00 -0000 1.3 --- contrib/pg_upgrade/relfilenode.c 15 Jun 2010 02:01:48 -0000 *************** *** 17,22 **** --- 17,25 ---- const char *oldnspname, const char *oldrelname, const char *newnspname, const char *newrelname); + /* used by scandir(), must be global */ + char scandir_file_pattern[MAXPGPATH]; + /* * transfer_all_new_dbs() *
Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols
From
Chris Ruprecht
Date:
Sorry for the late reply Josh, but apparently, Bruce already has a fix for the issue - Thanks Bruce!!
Thanks a bunch, I'll put the patch in when I get back home on Saturday.
.... if only my commercial RDBMS provider had turn-around times like you guys ....
best regards,
best regards,
chris
--
chris ruprecht
specialist in obscure details
On Jun 14, 2010, at 22:12 , Bruce Momjian wrote:
Chris Ruprecht wrote:I'm building the contrib modules and get this:gcc -no-cpp-precomp -O3 -fno-common -arch x86_64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv check.o controldata.o dump.o exec.o file.o function.o info.o option.o page.o pg_upgrade.o relfilenode.o server.o tablespace.o util.o version.o version_old_8_3.o -L../../src/port -lpgport -L../../src/interfaces/libpq -lpq -L../../src/port -O3 -fno-common -arch x86_64 -Wl,-dead_strip_dylibs -lpgport -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lm -o pg_upgradeld: duplicate symbol _scandir_file_pattern in controldata.o and check.o
Oops. That global variable was not properly defined; not sure why none
of the other compilers caught that bug. Anyway, the attached patch
should fix your problem, and will appear in 9.0 beta3. Thanks for the
report.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ None of us is going to be here forever. +
Index: contrib/pg_upgrade/pg_upgrade.h
===================================================================
RCS file: /cvsroot/pgsql/contrib/pg_upgrade/pg_upgrade.h,v
retrieving revision 1.7
diff -c -c -r1.7 pg_upgrade.h
*** contrib/pg_upgrade/pg_upgrade.h 12 Jun 2010 17:45:28 -0000 1.7
--- contrib/pg_upgrade/pg_upgrade.h 15 Jun 2010 02:01:48 -0000
***************
*** 237,243 ****
/*
* Global variables
*/
! char scandir_file_pattern[MAXPGPATH];
/* check.c */
--- 237,243 ----
/*
* Global variables
*/
! extern char scandir_file_pattern[];
/* check.c */
Index: contrib/pg_upgrade/relfilenode.c
===================================================================
RCS file: /cvsroot/pgsql/contrib/pg_upgrade/relfilenode.c,v
retrieving revision 1.3
diff -c -c -r1.3 relfilenode.c
*** contrib/pg_upgrade/relfilenode.c 13 May 2010 22:51:00 -0000 1.3
--- contrib/pg_upgrade/relfilenode.c 15 Jun 2010 02:01:48 -0000
***************
*** 17,22 ****
--- 17,25 ----
const char *oldnspname, const char *oldrelname,
const char *newnspname, const char *newrelname);
+ /* used by scandir(), must be global */
+ char scandir_file_pattern[MAXPGPATH];
+
/*
* transfer_all_new_dbs()
*