Hello,
Well, I have a strange problem on linux (Red Hat 6.2). When I type this command line :
/sbin/ldconfig -p | grep libpq
I have this result :
libpq.so.2 (libc6) => /usr/local/pgsql/lib/libpq.so.2
libpq.so (libc6) => /usr/local/pgsql/lib/libpq.so
One night before on the same machine and at this time on an other one, we have this :
libpq.so.2.1 (libc6) => /usr/local/pgsql/lib/libpq.so.2.1
libpq.so.2 (libc6) => /usr/local/pgsql/lib/libpq.so.2
libpq.so (libc6) => /usr/local/pgsql/lib/libpq.so
One line has disappeared. The one with libpq.so.2.1.
So, many programs don't work any more.
Ex :
On one machine :
ldd /usr/local/pgsql/bin/psql
The result is :
libpq.so.2.1 => /usr/local/pgsql/lib/libpq.so.2.1 (0x4001a000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40028000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40055000)
libdl.so.2 => /lib/libdl.so.2 (0x4006b000)
libm.so.6 => /lib/libm.so.6 (0x40070000)
libutil.so.1 => /lib/libutil.so.1 (0x4008d000)
libreadline.so.3 => /usr/lib/libreadline.so.3 (0x40090000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x400b4000)
libncurses.so.4 => /usr/lib/libncurses.so.4 (0x400b8000)
libc.so.6 => /lib/libc.so.6 (0x400fa000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
On an other machine, the result is :
libpq.so.2 => /usr/local/pgsql/lib/libpq.so.2 (0x40015000)
libz.so.1 => /usr/lib/libz.so.1 (0x4002a000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40039000)
libresolv.so.2 => /lib/libresolv.so.2 (0x40066000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40076000)
libdl.so.2 => /lib/libdl.so.2 (0x4008c000)
libm.so.6 => /lib/libm.so.6 (0x40090000)
libreadline.so.3 => /usr/lib/libreadline.so.3 (0x400ad000)
libc.so.6 => /lib/libc.so.6 (0x400d1000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x401c6000)
We can see that libpq.so.2.1 is not used directly in this second case. But, psql works well in each case.
The problem comes with our own programs.
For our programs :
ldd /path/to/my/program/my_program
libpq.so.2.1 => not found
libc.so.6 => /lib/libc.so.6 (0x4001c000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
I have a "not found". So, our programs don't work any more!! (They were compiled on the first machine and afterwards copied on the second one)
The strange thing is that it worked a few days ago on the second machine! I don't know how to restore a stable state.
How can I correct this ?
In the ldconfig man page, I have seen the -l flag but should I use it and how ?
I would appreciate a little help.
PS : I have typed the /sbin/ldconfig command line with the good /etc/ld.so.conf but I still have the problem.
Thank you
Regards.
--
Richard NAGY
Presenceweb / Nameshield