Обсуждение: [GENERAL] Build PostgreSQL With XML Support on Linux
Hi All,
I successfully built PostgreSQL from source on Linux (Centos 7) using the following:
./configure --prefix=/home/nagispg/local/ pgsql --with-libxml --with-libxslt
Prior to this I had installed the xml and xslt packages (amongst others) using:
yum install libxml2-devel
yum install libxslt-devel
However, when I try to store XML data in a table I get an error. The log file states that I need to rebuild PostgreSQL with --with-libxml.
When I run pg_config I get the following output:
BINDIR = /home/nagispg/local/pgsql/bin
DOCDIR = /home/nagispg/local/pgsql/ share/doc
HTMLDIR = /home/nagispg/local/pgsql/ share/doc
INCLUDEDIR = /home/nagispg/local/pgsql/ include
PKGINCLUDEDIR = /home/nagispg/local/pgsql/ include
INCLUDEDIR-SERVER = /home/nagispg/local/pgsql/ include/server
LIBDIR = /home/nagispg/local/pgsql/lib
PKGLIBDIR = /home/nagispg/local/pgsql/lib
LOCALEDIR = /home/nagispg/local/pgsql/ share/locale
MANDIR = /home/nagispg/local/pgsql/ share/man
SHAREDIR = /home/nagispg/local/pgsql/ share
SYSCONFDIR = /home/nagispg/local/pgsql/etc
PGXS = /home/nagispg/local/pgsql/lib/ pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--prefix=/home/nagispg/local/ pgsql'
CC = gcc
CPPFLAGS = -DFRONTEND -D_GNU_SOURCE
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2
CFLAGS_SL = -fpic
LDFLAGS = -L../../src/common -Wl,--as-needed -Wl,-rpath,'/home/nagispg/ local/pgsql/lib',--enable-new- dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.6.2
From the above, the LIBS doesn't indicate the presence of xml or xslt (i.e -lxslt -lxml2).
Could someone point me to what I am doing wrong.
I successfully built PostgreSQL from source on Linux (Centos 7) using the following:
./configure --prefix=/home/nagispg/local/
Prior to this I had installed the xml and xslt packages (amongst others) using:
yum install libxml2-devel
yum install libxslt-devel
However, when I try to store XML data in a table I get an error. The log file states that I need to rebuild PostgreSQL with --with-libxml.
When I run pg_config I get the following output:
BINDIR = /home/nagispg/local/pgsql/bin
DOCDIR = /home/nagispg/local/pgsql/
HTMLDIR = /home/nagispg/local/pgsql/
INCLUDEDIR = /home/nagispg/local/pgsql/
PKGINCLUDEDIR = /home/nagispg/local/pgsql/
INCLUDEDIR-SERVER = /home/nagispg/local/pgsql/
LIBDIR = /home/nagispg/local/pgsql/lib
PKGLIBDIR = /home/nagispg/local/pgsql/lib
LOCALEDIR = /home/nagispg/local/pgsql/
MANDIR = /home/nagispg/local/pgsql/
SHAREDIR = /home/nagispg/local/pgsql/
SYSCONFDIR = /home/nagispg/local/pgsql/etc
PGXS = /home/nagispg/local/pgsql/lib/
CONFIGURE = '--prefix=/home/nagispg/local/
CC = gcc
CPPFLAGS = -DFRONTEND -D_GNU_SOURCE
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2
CFLAGS_SL = -fpic
LDFLAGS = -L../../src/common -Wl,--as-needed -Wl,-rpath,'/home/nagispg/
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.6.2
From the above, the LIBS doesn't indicate the presence of xml or xslt (i.e -lxslt -lxml2).
Could someone point me to what I am doing wrong.
On 05/31/2017 06:24 AM, Osahon Oduware wrote: > Hi All, > > I successfully built PostgreSQL from source on Linux (Centos 7) using > the following: What version of Postgres? > ./configure --prefix=/home/nagispg/local/pgsql --with-libxml --with-libxslt I would look in config.log in the build directory for clues. > > Prior to this I had installed the xml and xslt packages (amongst others) > using: > yum install libxml2-devel > yum install libxslt-devel > > However, when I try to store XML data in a table I get an error. The log > file states that I need to rebuild PostgreSQL with --with-libxml. > > When I run pg_config I get the following output: > BINDIR = /home/nagispg/local/pgsql/bin > DOCDIR = /home/nagispg/local/pgsql/share/doc > HTMLDIR = /home/nagispg/local/pgsql/share/doc > INCLUDEDIR = /home/nagispg/local/pgsql/include > PKGINCLUDEDIR = /home/nagispg/local/pgsql/include > INCLUDEDIR-SERVER = /home/nagispg/local/pgsql/include/server > LIBDIR = /home/nagispg/local/pgsql/lib > PKGLIBDIR = /home/nagispg/local/pgsql/lib > LOCALEDIR = /home/nagispg/local/pgsql/share/locale > MANDIR = /home/nagispg/local/pgsql/share/man > SHAREDIR = /home/nagispg/local/pgsql/share > SYSCONFDIR = /home/nagispg/local/pgsql/etc > PGXS = /home/nagispg/local/pgsql/lib/pgxs/src/makefiles/pgxs.mk > <http://pgxs.mk> > CONFIGURE = '--prefix=/home/nagispg/local/pgsql' > CC = gcc > CPPFLAGS = -DFRONTEND -D_GNU_SOURCE > CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith > -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute > -Wformat-security -fno-strict-aliasing -fwrapv > -fexcess-precision=standard -O2 > CFLAGS_SL = -fpic > LDFLAGS = -L../../src/common -Wl,--as-needed > -Wl,-rpath,'/home/nagispg/local/pgsql/lib',--enable-new-dtags > LDFLAGS_EX = > LDFLAGS_SL = > LIBS = -lpgcommon -lpgport -lz -lreadline -lrt -lcrypt -ldl -lm > VERSION = PostgreSQL 9.6.2 > > From the above, the LIBS doesn't indicate the presence of xml or xslt > (i.e -lxslt -lxml2). > > Could someone point me to what I am doing wrong. -- Adrian Klaver adrian.klaver@aklaver.com
Adrian Klaver <adrian.klaver@aklaver.com> writes: > On 05/31/2017 06:24 AM, Osahon Oduware wrote: >> I successfully built PostgreSQL from source on Linux (Centos 7) using >> the following: >> ./configure --prefix=/home/nagispg/local/pgsql --with-libxml --with-libxslt >> ... >> When I run pg_config I get the following output: >> LIBS = -lpgcommon -lpgport -lz -lreadline -lrt -lcrypt -ldl -lm Did you remember to do "make install"? Did you make sure that /home/nagispg/local/pgsql/bin is in your PATH, ahead of wherever the old installation is? Alternatively, if you're attempting to overwrite an old installation, did you remember to restart the server? regards, tom lane
I am using PostgreSQL 9.6.2
On Wed, May 31, 2017 at 2:34 PM, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 05/31/2017 06:24 AM, Osahon Oduware wrote:Hi All,
I successfully built PostgreSQL from source on Linux (Centos 7) using the following:
What version of Postgres?./configure --prefix=/home/nagispg/local/pgsql --with-libxml --with-libxslt
I would look in config.log in the build directory for clues.
Prior to this I had installed the xml and xslt packages (amongst others) using:
yum install libxml2-devel
yum install libxslt-devel
However, when I try to store XML data in a table I get an error. The log file states that I need to rebuild PostgreSQL with --with-libxml.
When I run pg_config I get the following output:
BINDIR = /home/nagispg/local/pgsql/bin
DOCDIR = /home/nagispg/local/pgsql/share/doc
HTMLDIR = /home/nagispg/local/pgsql/share/doc
INCLUDEDIR = /home/nagispg/local/pgsql/include
PKGINCLUDEDIR = /home/nagispg/local/pgsql/include
INCLUDEDIR-SERVER = /home/nagispg/local/pgsql/include/server
LIBDIR = /home/nagispg/local/pgsql/lib
PKGLIBDIR = /home/nagispg/local/pgsql/lib
LOCALEDIR = /home/nagispg/local/pgsql/share/locale
MANDIR = /home/nagispg/local/pgsql/share/man
SHAREDIR = /home/nagispg/local/pgsql/share
SYSCONFDIR = /home/nagispg/local/pgsql/etc
PGXS = /home/nagispg/local/pgsql/lib/pgxs/src/makefiles/pgxs.mk <http://pgxs.mk>
CONFIGURE = '--prefix=/home/nagispg/local/pgsql'
CC = gcc
CPPFLAGS = -DFRONTEND -D_GNU_SOURCE
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2
CFLAGS_SL = -fpic
LDFLAGS = -L../../src/common -Wl,--as-needed -Wl,-rpath,'/home/nagispg/local/pgsql/lib',--enable-new-dtag s
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.6.2
From the above, the LIBS doesn't indicate the presence of xml or xslt (i.e -lxslt -lxml2).
Could someone point me to what I am doing wrong.
--
Adrian Klaver
adrian.klaver@aklaver.com
Hi Tom,
Thanks for the response. Yes, I did all of that.On Wed, May 31, 2017 at 2:46 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Adrian Klaver <adrian.klaver@aklaver.com> writes:
> On 05/31/2017 06:24 AM, Osahon Oduware wrote:
>> I successfully built PostgreSQL from source on Linux (Centos 7) using
>> the following:
>> ./configure --prefix=/home/nagispg/local/pgsql --with-libxml --with-libxslt
>> ...
>> When I run pg_config I get the following output:
>> LIBS = -lpgcommon -lpgport -lz -lreadline -lrt -lcrypt -ldl -lm
Did you remember to do "make install"? Did you make sure that
/home/nagispg/local/pgsql/bin is in your PATH, ahead of wherever
the old installation is? Alternatively, if you're attempting
to overwrite an old installation, did you remember to restart
the server?
regards, tom lane
Osahon Oduware <osahon.gis@gmail.com> writes: > Thanks for the response. Yes, I did all of that. Well, better start double-checking, because it certainly appears that the version of pg_config you're calling is not from a --with-libxml build. After thinking a bit, another possible way of messing this up would be if you were working in a previously-used build tree, and simply did a new configure run and then "make" without cleaning up the old build products. You might be able to get away with that if you'd used --enable-depend, but without it you really need at least "make clean" and preferably "make distclean" before reconfiguring. regards, tom lane
Hi Tom,
On Wed, May 31, 2017 at 4:49 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Osahon Oduware <osahon.gis@gmail.com> writes:
> Thanks for the response. Yes, I did all of that.
Well, better start double-checking, because it certainly appears that
the version of pg_config you're calling is not from a --with-libxml
build.
After thinking a bit, another possible way of messing this up would be
if you were working in a previously-used build tree, and simply did
a new configure run and then "make" without cleaning up the old build
products. You might be able to get away with that if you'd used
--enable-depend, but without it you really need at least "make clean"
and preferably "make distclean" before reconfiguring.
regards, tom lane