Re: pg_config problems on PG9.3/Centos?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com>
Cc: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: pg_config problems on PG9.3/Centos?
Date: 2014-01-21 21:45:38
Message-ID: 17307.1390340738@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com> writes:
> On Tue, Jan 21, 2014 at 12:32 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> IIRC, most of the paths shown here are actually computed relative to the
>> location of the pg_config executable, so I could imagine getting this
>> kind of result if you'd done something like symlinking pg_config into
>> /usr/bin.

> Oddly, there was a pg_config in /usr/bin that was not a symlink and not
> owned by any package. I'm really puzzled as to how it got there, but I
> removed it, and symlinked the one from /usr/pgsql-9.3/bin. It puts out
> better information.

OK.

> It also sounds like from your comment that symlinking to /usr/bin is
> frowned upon. What is the better way to deal with this?

I had forgotten the details, but if pg_config is giving you the right
answers then it must know about following the symlink. So nevermind
that worry.

> So with the pg_config thing resolved, my make now get stuck on the error
> below. I found a BSD bug report with the same message from 9.2, although I
> was able to successfully compile for 9.2 previously. I'm wondering if
> anyone seems something obvious or simple that could be causing this or
> could be fixed. I know the table_log packages are kind of ancient, but
> they do the trick!

> table_log.c: In function table_log:
> table_log.c:134: warning: implicit declaration of function
> RelationGetNamespace
> table_log.c:140: error: dereferencing pointer to incomplete type
> table_log.c: In function __table_log:
> table_log.c:301: error: dereferencing pointer to incomplete type
> table_log.c:310: error: dereferencing pointer to incomplete type
> table_log.c:312: error: dereferencing pointer to incomplete type
> table_log.c:346: error: dereferencing pointer to incomplete type
> table_log.c:354: error: dereferencing pointer to incomplete type
> table_log.c:373: error: dereferencing pointer to incomplete type
> table_log.c:381: error: dereferencing pointer to incomplete type
> table_log.c: In function table_log_restore_table:
> table_log.c:794: error: timestamptz_out undeclared (first use in this
> function)
> table_log.c:794: error: (Each undeclared identifier is reported only once
> table_log.c:794: error: for each function it appears in.)
> make: *** [table_log.o] Error 1

It looks like the code is missing some #include's. You at least
need utils/rel.h for RelationGetNamespace and utils/timestamp.h
for timestamptz_out. Can't tell from this what typedef is missing
but it's possible adding those will fix it; if not you'll need to
look at the complained-of lines and then grep the Postgres include
files to see which one provides it.

We occasionally add or remove header inclusions of other headers,
which probably explains why this code compiled on older versions
but not 9.3.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2014-01-21 21:50:58 Re: pg_config problems on PG9.3/Centos?
Previous Message Ken Tanzer 2014-01-21 21:18:50 Re: pg_config problems on PG9.3/Centos?