Re: What generates pg_config.h?

Поиск
Список
Период
Сортировка
От Travis Allison
Тема Re: What generates pg_config.h?
Дата
Msg-id CAEJ64tbtxs5=nchxkr4GuQgoa=gGEoT1KmzG73zyPG-27TFvAg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: What generates pg_config.h?  (Adrian Klaver <adrian.klaver@aklaver.com>)
Ответы Re: What generates pg_config.h?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: What generates pg_config.h?  (Adrian Klaver <adrian.klaver@aklaver.com>)
Список pgsql-general
Distro and version:  Ubuntu 16.04 LTS. 

If memory serves, I installed 9.5 using synaptic and 9.6 using apt-get, where I followed the instructions from this site: https://www.postgresql.org/download/linux/ubuntu/

I also have an anaconda installation of postgresql, but that is a version less than 9.6.

Here are the results for postgresql using dpkg-query -l

ii  postgresql                             9.5+173                  all                      object-relational SQL database (supported version)
ii  postgresql-9.5                         9.5.3-0ubuntu0.16.04     amd64                    object-relational SQL database, version 9.5 server
ii  postgresql-9.6                         9.6.5-1.pgdg16.04+2      amd64                    object-relational SQL database, version 9.6 server
ii  postgresql-client-9.5                  9.5.3-0ubuntu0.16.04     amd64                    front-end programs for PostgreSQL 9.5
ii  postgresql-client-9.6                  9.6.5-1.pgdg16.04+2      amd64                    front-end programs for PostgreSQL 9.6
ii  postgresql-client-common               173                      all                      manager for multiple PostgreSQL client versions
ii  postgresql-common                      173                      all                      PostgreSQL database-cluster manager
ii  postgresql-contrib-9.5                 9.5.3-0ubuntu0.16.04     amd64                    additional facilities for PostgreSQL
ii  postgresql-contrib-9.6                 9.6.5-1.pgdg16.04+2      amd64                    additional facilities for PostgreSQL
ii  postgresql-server-dev-9.5              9.5.3-0ubuntu0.16.04     amd64                    development files for PostgreSQL 9.5 server-side programming
ii  postgresql-server-dev-9.6              9.6.5-1.pgdg16.04+2      amd64                    development files for PostgreSQL 9.6 server-side programming


On Fri, Jan 5, 2018 at 10:24 AM, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
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 по дате отправления:

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