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  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


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  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-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.linkedin.com/in/asheshvashi*



On Wed, Aug 27, 2014 at 9:29 PM, David E. Wheeler 
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
>
>


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

2014-08-27 Thread Tom Lane
"David E. Wheeler"  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


[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