From: | Quinlan Pfiffer <quinlan(at)aquameta(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: C++ Background Workers? |
Date: | 2014-07-03 21:10:08 |
Message-ID: | CAKLJJhdy8D6i0NjZp00gFV1Z1vTtu+5ys4nuvwrtAWP9is_GaQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Jul 3, 2014 at 2:00 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Quinlan Pfiffer <quinlan(at)aquameta(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2014-07-03 21:35:44 | Re: Why does autovacuum clean fewer rows than I expect? |
Previous Message | Nick Cabatoff | 2014-07-03 21:07:37 | Why does autovacuum clean fewer rows than I expect? |