Re: Missing plpgsql.o Symbols on OS X - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Missing plpgsql.o Symbols on OS X
Date
Msg-id 8180.1409181640@sss.pgh.pa.us
Whole thread Raw
In response to Missing plpgsql.o Symbols on OS X  (David E. Wheeler <david@justatheory.com>)
Responses Re: Missing plpgsql.o Symbols on OS X
List pgsql-hackers
"David E. Wheeler" <david@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.soplpgsql_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



pgsql-hackers by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: [TODO] Track number of files ready to be archived in pg_stat_archiver
Next
From: Alvaro Herrera
Date:
Subject: Re: FOR [SHARE|UPDATE] NOWAIT may still block in EvalPlanQualFetch