Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols - Mailing list pgsql-testers

From Bruce Momjian
Subject Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols
Date
Msg-id 201006150212.o5F2CTb08070@momjian.us
Whole thread Raw
In response to 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols  (Chris Ruprecht <chrrup@gmail.com>)
Responses Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols
List pgsql-testers
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()
   *

pgsql-testers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols
Next
From: Chris Ruprecht
Date:
Subject: Re: 9.0Beta2 Build on Mac (64 bit) of pg_upgrade fails with duplicate symbols