problem getting postgres 8.3.1 with xml support to work on Redhat Enterprise Linux 4

Started by Aswani Kumaralmost 18 years ago6 messagesgeneral
Jump to latest
#1Aswani Kumar
Aswani.Kumar@idinsight.com

Hello ,

We are trying to install Postgres 8.3.1 on a Redhat Entrprise Linux
Version 4 , but are facing issues with starting the database

The Postgres was built using ./configure
XML2_CONFIG=/usr/local/libxml/bin/xml2-config
--prefix=/usr/local/postgresql-8.3.1 --with-libxml. Libxml2-2.6.32 was
built using ./configure --prefix=/usr/local/libxml and is the location
pointed to in the Postgres configure script.

Postgres got installed without any problems but when I try to initdb I
get the following

[postgres@XXX bin]$ ./initdb -D ../data

fgets failure: Success

The program "postgres" is needed by initdb but was not found in the

same directory as "/usr/local/postgresql-8.3.1/bin/initdb".

Check your installation.

The Postgres program is there in the location, but when I try to run it
I get the following

[postgres@IDISTAGESQL1 bin]$ ./postgres

./postgres: relocation error: ./postgres: undefined symbol:
xmlIsBaseCharGroup

So I am assuming this to a problem with XML support for postgres. I
couldn't find any valid clue from searching for these and any help on
this would be appreciated.

I can get Postgres to work if I do not use the libxml option, but XML
support is the sole reason why we want to use the 8.3.1 version.

Thanks

Aswin Nair

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Aswani Kumar (#1)
Re: problem getting postgres 8.3.1 with xml support to work on Redhat Enterprise Linux 4

"Aswani Kumar" <Aswani.Kumar@idinsight.com> writes:

The Postgres was built using ./configure
XML2_CONFIG=/usr/local/libxml/bin/xml2-config
--prefix=/usr/local/postgresql-8.3.1 --with-libxml. Libxml2-2.6.32 was
built using ./configure --prefix=/usr/local/libxml and is the location
pointed to in the Postgres configure script.

Linux isn't real friendly to putting shared libraries outside the
standard directories. If you want to keep libxml2.so in its own directory
you'll need to teach the dynamic linker to look there. See ldconfig.

regards, tom lane

#3Aswani Kumar
Aswani.Kumar@idinsight.com
In reply to: Tom Lane (#2)
Re: problem getting postgres 8.3.1 with xml support to work on Redhat Enterprise Linux 4

Thanks a lot for the help. I changed the /etc/ld.so.conf to include the
libxml2 directories and did /sbin/ldconfig -v . Postgres initdb started
fine after that.

Thanks
Aswin

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Friday, June 27, 2008 4:46 PM
To: Aswani Kumar
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] problem getting postgres 8.3.1 with xml support
to work on Redhat Enterprise Linux 4

"Aswani Kumar" <Aswani.Kumar@idinsight.com> writes:

The Postgres was built using ./configure
XML2_CONFIG=/usr/local/libxml/bin/xml2-config
--prefix=/usr/local/postgresql-8.3.1 --with-libxml. Libxml2-2.6.32

was

built using ./configure --prefix=/usr/local/libxml and is the

location

pointed to in the Postgres configure script.

Linux isn't real friendly to putting shared libraries outside the
standard directories. If you want to keep libxml2.so in its own
directory
you'll need to teach the dynamic linker to look there. See ldconfig.

regards, tom lane

#4askel
dummy666@mail.ru
In reply to: Aswani Kumar (#1)
Re: problem getting postgres 8.3.1 with xml support to work on Redhat Enterprise Linux 4

On Jun 27, 5:46 pm, t...@sss.pgh.pa.us (Tom Lane) wrote:

Linux isn't real friendly to putting shared libraries outside the
standard directories. If you want to keep libxml2.so in its own directory
you'll need to teach the dynamic linker to look there. See ldconfig.

What could be more friendly than providing few ways to specify where
to look for shared libraries?
a) by changing /etc/ld.so.conf and making it permanent
b) by running ldconfig to temporary update dynamic loader cache
c) by setting LD_LIBRARY_PATH environment variable to change it for
current session only or even a single program execution

#5Craig Ringer
craig@2ndquadrant.com
In reply to: askel (#4)
Re: Re: problem getting postgres 8.3.1 with xml support to work on Redhat Enterprise Linux 4

askel wrote:

On Jun 27, 5:46 pm, t...@sss.pgh.pa.us (Tom Lane) wrote:

Linux isn't real friendly to putting shared libraries outside the
standard directories. If you want to keep libxml2.so in its own directory
you'll need to teach the dynamic linker to look there. See ldconfig.

What could be more friendly than providing few ways to specify where
to look for shared libraries?

rpath linking, so the executable can have relative (or at least on some
systems absolute) paths to libraries "burned in" at link time. At least
recent-ish versions of the GNU toolchain do support rpath during
linking, and the dynamic linker from glibc can use the rpath information.

The CMake build system supports rpath linking automatically on Linux. I
don't know about libtool or about libtool-free autotools build
environments. The manpage for GNU ld has some information on rpath
linker options.

rpath linking is particularly useful when you want an app to use a
private copy of a library built differently to how the rest of the
system needs that library to be built. You don't want it to be on the
general library search path, so without rpath you generally land up
having to resort to wrapper scripts.

--
Craig Ringer

#6Martijn van Oosterhout
kleptog@svana.org
In reply to: Craig Ringer (#5)
Re: Re: problem getting postgres 8.3.1 with xml support to work on Redhat Enterprise Linux 4

On Tue, Jul 01, 2008 at 05:06:54PM +0800, Craig Ringer wrote:

What could be more friendly than providing few ways to specify where
to look for shared libraries?

rpath linking, so the executable can have relative (or at least on some
systems absolute) paths to libraries "burned in" at link time. At least
recent-ish versions of the GNU toolchain do support rpath during
linking, and the dynamic linker from glibc can use the rpath information.

Oh, Linux supprts rpath, it's just that Debian (and some other
distributions IIRC) forbid its use in distributed binaries.

http://people.debian.org/~che/personal/rpath-considered-harmful

The basic problem is that it makes upgrades difficult if not
impossible wihout recompiling everything.

Postgresql has configure options relating to rpath, never used them
though.

Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/

Show quoted text

Please line up in a tree and maintain the heap invariant while
boarding. Thank you for flying nlogn airlines.