Re: What generates pg_config.h?

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: What generates pg_config.h?
Дата
Msg-id 59902831-ba5d-6fb9-8db8-a074c08e8106@aklaver.com
обсуждение исходный текст
Ответ на What generates pg_config.h?  (Travis Allison <travisallison@gmail.com>)
Ответы Re: What generates pg_config.h?  (Travis Allison <travisallison@gmail.com>)
Список pgsql-general
On 01/05/2018 09:07 AM, Travis Allison wrote:
> Hi,
> 
> I have postgres 9.5 and 9.6 installed.  pg_config points to 9.6.
> I am trying to compile a postgresql plugin (Timescaledb).  I am getting 
> an error:
> -----------------------------------------------
> /usr/include/postgresql/pg_config.h:733:0: warning: "PACKAGE_VERSION" 
> redefined
>   #define PACKAGE_VERSION "10.0"
>   ^
> In file included from /usr/include/postgresql/9.6/server/c.h:53:0,
>                   from /usr/include/postgresql/9.6/server/postgres.h:47,
>                   from /mnt/data/timescaledb/src/init.c:1:
> /usr/include/postgresql/9.6/server/pg_config.h:740:0: note: this is the 
> location of the previous definition
>   #define PACKAGE_VERSION "9.6.5"
> -----------------------------------------------------
> 
> The command pg_config gives the following:
> 
> ---------------------------------------
> BINDIR = /usr/lib/postgresql/9.6/bin
> DOCDIR = /usr/share/doc/postgresql-doc-9.6
> HTMLDIR = /usr/share/doc/postgresql-doc-9.6
> INCLUDEDIR = /usr/include/postgresql
> PKGINCLUDEDIR = /usr/include/postgresql
> INCLUDEDIR-SERVER = /usr/include/postgresql/9.6/server
> LIBDIR = /usr/lib/x86_64-linux-gnu
> PKGLIBDIR = /usr/lib/postgresql/9.6/lib
> LOCALEDIR = /usr/share/locale
> MANDIR = /usr/share/postgresql/9.6/man
> SHAREDIR = /usr/share/postgresql/9.6
> SYSCONFDIR = /etc/postgresql-common
> PGXS = /usr/lib/postgresql/9.6/lib/pgxs/src/makefiles/pgxs.mk 
> <http://pgxs.mk>
> CONFIGURE = '--with-tcl' '--with-perl' '--with-python' '--with-pam' 
> '--with-openssl' '--with-libxml' '--with-libxslt' 
> '--with-tclconfig=/usr/lib/x86_64-linux-gnu/tcl8.6' 
> '--with-includes=/usr/include/tcl8.6' 'PYTHON=/usr/bin/python' 
> '--mandir=/usr/share/postgresql/9.6/man' 
> '--docdir=/usr/share/doc/postgresql-doc-9.6' 
> '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' 
> '--datadir=/usr/share/postgresql/9.6' 
> '--bindir=/usr/lib/postgresql/9.6/bin' 
> '--libdir=/usr/lib/x86_64-linux-gnu/' 
> '--libexecdir=/usr/lib/postgresql/' 
> '--includedir=/usr/include/postgresql/' '--enable-nls' 
> '--enable-integer-datetimes' '--enable-thread-safety' 
> '--enable-tap-tests' '--enable-debug' '--disable-rpath' 
> '--with-uuid=e2fs' '--with-gnu-ld' '--with-pgport=5432' 
> '--with-system-tzdata=/usr/share/zoneinfo' '--with-systemd' 'CFLAGS=-g 
> -O2 -fstack-protector-strong -Wformat -Werror=format-security -fPIC -pie 
> -fno-omit-frame-pointer' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro 
> -Wl,-z,now' '--with-gssapi' '--with-ldap' 
> '--with-includes=/usr/include/mit-krb5' '--with-libs=/usr/lib/mit-krb5' 
> '--with-libs=/usr/lib/x86_64-linux-gnu/mit-krb5' '--with-selinux' 
> 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
> CC = gcc
> CPPFLAGS = -DFRONTEND -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE 
> -I/usr/include/libxml2 -I/usr/include/mit-krb5
> CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith 
> -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
> -Wformat-security -fno-strict-aliasing -fwrapv 
> -fexcess-precision=standard -g -g -O2 -fstack-protector-strong -Wformat 
> -Werror=format-security -fPIC -pie -fno-omit-frame-pointer
> CFLAGS_SL = -fPIC
> LDFLAGS = -L../../src/common -Wl,-Bsymbolic-functions -Wl,-z,relro 
> -Wl,-z,now -L/usr/lib/x86_64-linux-gnu/mit-krb5 -Wl,--as-needed
> LDFLAGS_EX =
> LDFLAGS_SL =
> LIBS = -lpgcommon -lpgport -lselinux -lxslt -lxml2 -lpam -lssl -lcrypto 
> -lgssapi_krb5 -lz -ledit -lrt -lcrypt -ldl -lm
> VERSION = PostgreSQL 9.6.5
> -------------------------------------------------
> 
> So my question is: what is generating the 
> /usr/include/postgresql/pg_config.h file?  Why is it different than the 
> /usr/include/postgresql/9.6/server/pg_config.h file?

I am guessing you have some part of Postgres 10 installed. During the 
build the extension is getting to /usr/include/postgresql/pg_config.h 
before it gets to /usr/include/postgresql/9.6/server/pg_config.h.  Crank 
up your package manager and see what your distro has installed? Along 
that line knowing what distro and version you are using as well as how 
you installed Postgres 9.5 and 9.6 would be helpful.

> 
> Thanks!
> 
> Travis


-- 
Adrian Klaver
adrian.klaver@aklaver.com


В списке pgsql-general по дате отправления:

Предыдущее
От: Travis Allison
Дата:
Сообщение: What generates pg_config.h?
Следующее
От: Travis Allison
Дата:
Сообщение: Re: What generates pg_config.h?