"David E. Wheeler" <[email protected]> writes:
> Hackers,
> Im trying to build Pavels 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
> 000000000000f110 T _exec_get_datum_type
> 000000000000f380 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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers