On Thu, Jul 3, 2014 at 2:00 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Quinlan Pfiffer <quin...@aquameta.com> writes: > > I'm trying to build a custom background worker for 9.3 in C++. > > Recompiling for -fPIC (as it says to) correctly builds the shared > library, > > but then when I try to run Postgres with my .so file being loaded I get > > this: > > https://gist.github.com/qpfiffer/e59c9260b687a23e2743 > > Is it really necessary to make us go visit some random website for a > two-line error log? >
Sorry, wasn't sure on etiquette for that sort of thing. I guess two lines is harmless enough. > > For the archives (since I bet the above link will be 404 soon), the > failure looked like this: > > 2014-07-03 12:08:42 PDT FATAL: could not load library > "/usr/lib/postgresql/9.3/lib/pg_webrtc.so": > /usr/lib/postgresql/9.3/lib/pg_webrtc.so: undefined symbol: > _Z30BackgroundWorkerUnblockSignalsv > > It looks to me like you need extern "C" { ... } around the > Postgres header files you're importing, so that the C++ > compiler won't think it should mangle function names > declared therein. > That worked, thanks for your help. QP