Re: [HACKERS] Missing plpgsql.o Symbols on OS X

2014-08-28 Thread David E. Wheeler
On Aug 27, 2014, at 9:53 PM, Ashesh Vashi ashesh.va...@enterprisedb.com wrote:

 Please add -arch x86_64 to your LD_FLAGS and CFLAGS in your make file.

This made no difference:

LDFLAGS = -arch x86_64
CFLAGS = -arch x86_64

Best,

David



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: [HACKERS] Missing plpgsql.o Symbols on OS X

2014-08-28 Thread David E. Wheeler
On Aug 27, 2014, at 4:20 PM, Tom Lane t...@sss.pgh.pa.us wrote:

 Yeah, but plpgsql.so is mentioned nowhere on your command line.
 
 I'm not too sure about the dynamic-linking rules on OS X, but I'd not be
 surprised if you need to provide a reference to plpgsql.so in its final
 installed location (ie, a reference to it in the build tree may appear to
 link and then fail at runtime).

Ah. Is there a recommended way to do that in a PGXS-powered Makefile?

Thanks,

David



signature.asc
Description: Message signed with OpenPGP using GPGMail


[HACKERS] Missing plpgsql.o Symbols on OS X

2014-08-27 Thread David E . Wheeler
Hackers,

I’m trying to build Pavel’s plpgsql_check against the 9.4 beta on OS X 10.9, 
but get these errors:

make
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
-Wformat-security -fno-strict-aliasing -fwrapv  
-I/usr/local/pgsql/lib/pgxs/src/makefiles/../../src/pl/plpgsql/src -bundle 
-multiply_defined suppress -o plpgsql_check.so plpgsql_check.o 
-L/usr/local/pgsql/lib -L/usr/local/lib  -L/usr/local/lib 
-Wl,-dead_strip_dylibs   -bundle_loader /usr/local/pgsql/bin/postgres
Undefined symbols for architecture x86_64:
 _exec_get_datum_type, referenced from:
 _check_target in plpgsql_check.o
 _plpgsql_build_datatype, referenced from:
 _check_stmt in plpgsql_check.o
 _plpgsql_compile, referenced from:
 _check_plpgsql_function in plpgsql_check.o
 _plpgsql_parser_setup, referenced from:
 _prepare_expr in plpgsql_check.o
 _plpgsql_stmt_typename, referenced from:
 _put_error in plpgsql_check.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [plpgsql_check.so] Error 1

Which is odd, because plpgsql_check.c includes plpgsql.h, and those symbols do 
appear to be in plpgsql.so:

$ nm /usr/local/pgsql/lib/plpgsql.so | grep _exec_get_datum_type
f110 T _exec_get_datum_type
f380 T _exec_get_datum_type_info

So, uh, what gives? Do I need to something extra to get it to properly find 
plpgsql.so?

Thanks,

David



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: [HACKERS] Missing plpgsql.o Symbols on OS X

2014-08-27 Thread Tom Lane
David E. Wheeler da...@justatheory.com writes:
 Hackers,
 I’m trying to build Pavel’s plpgsql_check against the 9.4 beta on OS X 10.9, 
 but get these errors:

 make
 gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith 
 -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
 -Wformat-security -fno-strict-aliasing -fwrapv  
 -I/usr/local/pgsql/lib/pgxs/src/makefiles/../../src/pl/plpgsql/src -bundle 
 -multiply_defined suppress -o plpgsql_check.so plpgsql_check.o 
 -L/usr/local/pgsql/lib -L/usr/local/lib  -L/usr/local/lib 
 -Wl,-dead_strip_dylibs   -bundle_loader /usr/local/pgsql/bin/postgres
 Undefined symbols for architecture x86_64:
  _exec_get_datum_type, referenced from:
  _check_target in plpgsql_check.o
  _plpgsql_build_datatype, referenced from:
  _check_stmt in plpgsql_check.o
  _plpgsql_compile, referenced from:
  _check_plpgsql_function in plpgsql_check.o
  _plpgsql_parser_setup, referenced from:
  _prepare_expr in plpgsql_check.o
  _plpgsql_stmt_typename, referenced from:
  _put_error in plpgsql_check.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see 
 invocation)
 make: *** [plpgsql_check.so] Error 1

 Which is odd, because plpgsql_check.c includes plpgsql.h, and those symbols 
 do appear to be in plpgsql.so:

 $ nm /usr/local/pgsql/lib/plpgsql.so | grep _exec_get_datum_type
 f110 T _exec_get_datum_type
 f380 T _exec_get_datum_type_info

Yeah, but plpgsql.so is mentioned nowhere on your command line.

I'm not too sure about the dynamic-linking rules on OS X, but I'd not be
surprised if you need to provide a reference to plpgsql.so in its final
installed location (ie, a reference to it in the build tree may appear to
link and then fail at runtime).

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Missing plpgsql.o Symbols on OS X

2014-08-27 Thread Ashesh Vashi
Please add -arch x86_64 to your LD_FLAGS and CFLAGS in your make file.

--

Thanks  Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
http://www.enterprisedb.com



*http://www.linkedin.com/in/asheshvashi*
http://www.linkedin.com/in/asheshvashi


On Wed, Aug 27, 2014 at 9:29 PM, David E. Wheeler da...@justatheory.com
wrote:

 Hackers,

 I’m trying to build Pavel’s plpgsql_check against the 9.4 beta on OS X
 10.9, but get these errors:

 make
 gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
 -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
 -Wformat-security -fno-strict-aliasing -fwrapv
 -I/usr/local/pgsql/lib/pgxs/src/makefiles/../../src/pl/plpgsql/src -bundle
 -multiply_defined suppress -o plpgsql_check.so plpgsql_check.o
 -L/usr/local/pgsql/lib -L/usr/local/lib  -L/usr/local/lib
 -Wl,-dead_strip_dylibs   -bundle_loader /usr/local/pgsql/bin/postgres
 Undefined symbols for architecture x86_64:
  _exec_get_datum_type, referenced from:
  _check_target in plpgsql_check.o
  _plpgsql_build_datatype, referenced from:
  _check_stmt in plpgsql_check.o
  _plpgsql_compile, referenced from:
  _check_plpgsql_function in plpgsql_check.o
  _plpgsql_parser_setup, referenced from:
  _prepare_expr in plpgsql_check.o
  _plpgsql_stmt_typename, referenced from:
  _put_error in plpgsql_check.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)
 make: *** [plpgsql_check.so] Error 1

 Which is odd, because plpgsql_check.c includes plpgsql.h, and those
 symbols do appear to be in plpgsql.so:

 $ nm /usr/local/pgsql/lib/plpgsql.so | grep _exec_get_datum_type
 f110 T _exec_get_datum_type
 f380 T _exec_get_datum_type_info

 So, uh, what gives? Do I need to something extra to get it to properly
 find plpgsql.so?

 Thanks,

 David