agora inbox for pljava-dev@postgresql.org
help / color / mirror / Atom feed[Pljava-dev] libjvm.so error
7+ messages / 0 participants
[nested] [flat]
* [Pljava-dev] libjvm.so error
@ 2005-05-23 22:41
0 siblings, 1 reply; 7+ messages in thread
From: @ 2005-05-23 22:41 UTC (permalink / raw)
Howdy,
I'm having a bit of trouble installing PL/JAVA. I believe I've the
LD_LIB and CLASSPATH variables correctly, but I'm still getting the
error about libjvm.so:
---------------
java.sql.SQLException: ERROR: could not load library
"/usr/lib/postgresql/libpljava.so": libjvm.so: cannot open shared object
file: No such file or directory
---------------
I believe I'm setting both CLASSPATH and LD_LIBRARY_PATH correctly for
my machine. Can you think of any reason why this error might occur?
Below is the output of the init script to start postgres.
Many thanks,
Eric
---------------
# bash -x /etc/init.d/postgresql restart
+ PG_SYSCONFIG=/etc/sysconfig/postgresql
+ test -f /etc/sysconfig/postgresql
+ . /etc/sysconfig/postgresql
++ POSTGRES_DATADIR='~postgres/data'
++ POSTGRES_OPTIONS=
++ POSTGRES_LANG=
++
POSTGRES_CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3.jar
++
POSTGRES_LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i386/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
+ export
CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3.jar
+
CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3.jar
+ export
LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i386/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
+
LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i386/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
+ . /etc/rc.status
++ test -z '' -o -z ''
+++ exec
+++ stty size
+++ read L C
+++ echo LINES=24 COLUMNS=80
++ eval LINES=24 COLUMNS=80
+++ LINES=24
+++ COLUMNS=80
++ test 24 -eq 0
++ test 80 -eq 0
++ export LINES COLUMNS
++ case $PATH in
++ test -t 1 -a xterm '!=' raw -a xterm '!=' dumb
++ stty size
+++ echo -en '\033'
++ esc=$'\E'
++ extd=''
++ warn=''
++ done=''
++ attn=''
+++ echo -en '\017'
++ norm=''
+++ echo -en
'\015 '
++ stat=' '
++ rc_done=' done'
++ rc_running='
running'
++ rc_failed='
failed'
++ rc_missed='
missing'
++ rc_skipped='
skipped'
++ rc_dead=' dead'
++ rc_unused='
unused'
++ rc_unknown='
failed''
++ rc_reset=''p='
++ rc_save=''
++ rc_restor'='
++ _rc_service=/etc/init.d/postgresql
++ _rc_status=0
++ _rc_status_all=0
++ _rc_todo=restart
++ test restart = status
++ test -n restart
+ LOGFILE=/var/log/postgresql
+ eval 'DATADIR=~postgres/data'
++ DATADIR=/var/lib/pgsql/data
+ OPTIONS=
+ H=/usr/bin/postmaster
+ test -x /usr/bin/postmaster
+ '[' -r /var/lib/pgsql/data/PG_VERSION ']'
++ /usr/bin/postmaster --version
++ sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/'
+ BIN_VERSION=7.4
++ cat /var/lib/pgsql/data/PG_VERSION
+ DATA_VERSION=7.4
+ '[' 7.4 '!=' 7.4 ']'
+ rc_reset
+ _rc_status=0
+ _rc_status_all=0
+ rc_check
+ _rc_status_ret=0
+ test 0 -eq 0
+ test 0 -eq 0
+ return
+ return 0
+ case "$1" in
+ /etc/init.d/postgresql stop
Shutting down PostgreSQL done
+ /etc/init.d/postgresql start
Starting PostgreSQL done
+ rc_status
+ rc_check
+ _rc_status_ret=0
+ test 0 -eq 0
+ test 0 -eq 0
+ return
+ test 0 -gt 7
+ _rc_status_ret=0
+ case "$_rc_todo" in
+ local i
+ return 0
+ rc_exit
+ exit 0
here's libjvm.so:
# ls -l /usr/lib/jvm/java/jre/lib/i386/client
total 4997
drwxr-xr-x 2 root root 144 Mar 18 12:11 .
drwxr-xr-x 5 root root 976 Mar 18 12:11 ..
-rw-r--r-- 1 root root 1386 Sep 28 2004 Xusage.txt
lrwxrwxrwx 1 root root 13 Mar 18 12:11 libjsig.so -> ../libjsig.so
-rwxr-xr-x 1 root root 5103795 Sep 28 2004 libjvm.so
^ permalink raw reply [nested|flat] 7+ messages in thread
* [Pljava-dev] libjvm.so error
@ 2005-05-24 22:38
parent:
0 siblings, 2 replies; 7+ messages in thread
From: @ 2005-05-24 22:38 UTC (permalink / raw)
I was having the same error today on linux, and happened to do an 'ldd' on
'libpljava.so'
As I recall, it has a dependency on libjvm.so, but the installation of Java
had not told the system where to find either the server or client version of
libjvm.so, so I put a symbolic link to the libjvm.so version I wanted to use
in the '/lib' directory and the error went away.
I'm not sure if that is the right solution, but it seems to have worked so
far.
Terrance
-----Original Message-----
From: pljava-dev-bounces at gborg.postgresql.org
[mailto:pljava-dev-bounces at gborg.postgresql.org] On Behalf Of Eric E
Sent: Monday, May 23, 2005 4:42 PM
To: pljava-dev at gborg.postgresql.org
Subject: [Pljava-dev] libjvm.so error
Howdy,
I'm having a bit of trouble installing PL/JAVA. I believe I've the
LD_LIB and CLASSPATH variables correctly, but I'm still getting the
error about libjvm.so:
---------------
java.sql.SQLException: ERROR: could not load library
"/usr/lib/postgresql/libpljava.so": libjvm.so: cannot open shared object
file: No such file or directory
---------------
I believe I'm setting both CLASSPATH and LD_LIBRARY_PATH correctly for
my machine. Can you think of any reason why this error might occur?
Below is the output of the init script to start postgres.
Many thanks,
Eric
---------------
# bash -x /etc/init.d/postgresql restart
+ PG_SYSCONFIG=/etc/sysconfig/postgresql
+ test -f /etc/sysconfig/postgresql
+ . /etc/sysconfig/postgresql
++ POSTGRES_DATADIR='~postgres/data'
++ POSTGRES_OPTIONS=
++ POSTGRES_LANG=
++
POSTGRES_CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg
73b1jdbc3.jar
++
POSTGRES_LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jr
e/lib/i386/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
+ export
CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
.jar
+
CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
.jar
+ export
LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
+
LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
+ . /etc/rc.status
++ test -z '' -o -z ''
+++ exec
+++ stty size
+++ read L C
+++ echo LINES=24 COLUMNS=80
++ eval LINES=24 COLUMNS=80
+++ LINES=24
+++ COLUMNS=80
++ test 24 -eq 0
++ test 80 -eq 0
++ export LINES COLUMNS
++ case $PATH in
++ test -t 1 -a xterm '!=' raw -a xterm '!=' dumb
++ stty size
+++ echo -en '\033'
++ esc=$'\E'
++ extd=''
++ warn=''
++ done=''
++ attn=''
+++ echo -en '\017'
++ norm=''
+++ echo -en
'\015 '
++ stat=' '
++ rc_done=' done'
++ rc_running='
running'
++ rc_failed='
failed'
++ rc_missed='
missing'
++ rc_skipped='
skipped'
++ rc_dead=' dead'
++ rc_unused='
unused'
++ rc_unknown='
failed''
++ rc_reset=''p='
++ rc_save=''
++ rc_restor'='
++ _rc_service=/etc/init.d/postgresql
++ _rc_status=0
++ _rc_status_all=0
++ _rc_todo=restart
++ test restart = status
++ test -n restart
+ LOGFILE=/var/log/postgresql
+ eval 'DATADIR=~postgres/data'
++ DATADIR=/var/lib/pgsql/data
+ OPTIONS=
+ H=/usr/bin/postmaster
+ test -x /usr/bin/postmaster
+ '[' -r /var/lib/pgsql/data/PG_VERSION ']'
++ /usr/bin/postmaster --version
++ sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/'
+ BIN_VERSION=7.4
++ cat /var/lib/pgsql/data/PG_VERSION
+ DATA_VERSION=7.4
+ '[' 7.4 '!=' 7.4 ']'
+ rc_reset
+ _rc_status=0
+ _rc_status_all=0
+ rc_check
+ _rc_status_ret=0
+ test 0 -eq 0
+ test 0 -eq 0
+ return
+ return 0
+ case "$1" in
+ /etc/init.d/postgresql stop
Shutting down PostgreSQL done
+ /etc/init.d/postgresql start
Starting PostgreSQL done
+ rc_status
+ rc_check
+ _rc_status_ret=0
+ test 0 -eq 0
+ test 0 -eq 0
+ return
+ test 0 -gt 7
+ _rc_status_ret=0
+ case "$_rc_todo" in
+ local i
+ return 0
+ rc_exit
+ exit 0
here's libjvm.so:
# ls -l /usr/lib/jvm/java/jre/lib/i386/client
total 4997
drwxr-xr-x 2 root root 144 Mar 18 12:11 .
drwxr-xr-x 5 root root 976 Mar 18 12:11 ..
-rw-r--r-- 1 root root 1386 Sep 28 2004 Xusage.txt
lrwxrwxrwx 1 root root 13 Mar 18 12:11 libjsig.so -> ../libjsig.so
-rwxr-xr-x 1 root root 5103795 Sep 28 2004 libjvm.so
_______________________________________________
Pljava-dev mailing list
Pljava-dev at gborg.postgresql.org
http://gborg.postgresql.org/mailman/listinfo/pljava-dev
^ permalink raw reply [nested|flat] 7+ messages in thread
* [Pljava-dev] libjvm.so error
@ 2005-05-25 05:29
parent:
1 sibling, 0 replies; 7+ messages in thread
From: @ 2005-05-25 05:29 UTC (permalink / raw)
Terrance,
The symbolic link you've added will make the dynamic loader find the
libjvm.so without consulting the LD_LIBRARY_PATH so something is wrong
with your LD_LIBRARY_PATH. Either it's not visible to the backend
process somehow, or it's incorrect.
The LD_LIBRARY_PATH *is* the mechanism whereby the system (i.e. the
dynamic loader) will find either the server or the client version of
PL/Java.
Unrelated to this problem I also see that you have
"/usr/share/pgsql/pg73b1jdbc3.jar" in your CLASSPATH. That's probably a
very bad idea. PL/Java should not have this jar in it's classpath. Why
do you need this?
Regards,
Thomas Hallgren
Terrance Davis wrote:
>I was having the same error today on linux, and happened to do an 'ldd' on
>'libpljava.so'
>
>As I recall, it has a dependency on libjvm.so, but the installation of Java
>had not told the system where to find either the server or client version of
>libjvm.so, so I put a symbolic link to the libjvm.so version I wanted to use
>in the '/lib' directory and the error went away.
>
>I'm not sure if that is the right solution, but it seems to have worked so
>far.
>
>Terrance
>
>
>-----Original Message-----
>From: pljava-dev-bounces at gborg.postgresql.org
>[mailto:pljava-dev-bounces at gborg.postgresql.org] On Behalf Of Eric E
>Sent: Monday, May 23, 2005 4:42 PM
>To: pljava-dev at gborg.postgresql.org
>Subject: [Pljava-dev] libjvm.so error
>
>Howdy,
> I'm having a bit of trouble installing PL/JAVA. I believe I've the
>LD_LIB and CLASSPATH variables correctly, but I'm still getting the
>error about libjvm.so:
>---------------
>java.sql.SQLException: ERROR: could not load library
>"/usr/lib/postgresql/libpljava.so": libjvm.so: cannot open shared object
>file: No such file or directory
>---------------
>
>I believe I'm setting both CLASSPATH and LD_LIBRARY_PATH correctly for
>my machine. Can you think of any reason why this error might occur?
>
>Below is the output of the init script to start postgres.
>
>Many thanks,
>
>Eric
>
>---------------
># bash -x /etc/init.d/postgresql restart
>+ PG_SYSCONFIG=/etc/sysconfig/postgresql
>+ test -f /etc/sysconfig/postgresql
>+ . /etc/sysconfig/postgresql
>++ POSTGRES_DATADIR='~postgres/data'
>++ POSTGRES_OPTIONS=
>++ POSTGRES_LANG=
>++
>POSTGRES_CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg
>73b1jdbc3.jar
>++
>POSTGRES_LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jr
>e/lib/i386/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>+ export
>CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
>.jar
>+
>CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
>.jar
>+ export
>LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
>6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>+
>LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
>6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>+ . /etc/rc.status
>++ test -z '' -o -z ''
>+++ exec
>+++ stty size
>+++ read L C
>+++ echo LINES=24 COLUMNS=80
>++ eval LINES=24 COLUMNS=80
>+++ LINES=24
>+++ COLUMNS=80
>++ test 24 -eq 0
>++ test 80 -eq 0
>++ export LINES COLUMNS
>++ case $PATH in
>++ test -t 1 -a xterm '!=' raw -a xterm '!=' dumb
>++ stty size
>+++ echo -en '\033'
>++ esc=$'\E'
>++ extd=''
>++ warn=''
>++ done=''
>++ attn=''
>+++ echo -en '\017'
>++ norm=''
>+++ echo -en
>'\015 '
>++ stat=' '
>++ rc_done=' done'
>++ rc_running='
>running'
>++ rc_failed='
>failed'
>++ rc_missed='
>missing'
>++ rc_skipped='
>skipped'
>++ rc_dead=' dead'
>++ rc_unused='
>unused'
>++ rc_unknown='
>failed''
>++ rc_reset=''p='
>++ rc_save=''
>++ rc_restor'='
>++ _rc_service=/etc/init.d/postgresql
>++ _rc_status=0
>++ _rc_status_all=0
>++ _rc_todo=restart
>++ test restart = status
>++ test -n restart
>+ LOGFILE=/var/log/postgresql
>+ eval 'DATADIR=~postgres/data'
>++ DATADIR=/var/lib/pgsql/data
>+ OPTIONS=
>+ H=/usr/bin/postmaster
>+ test -x /usr/bin/postmaster
>+ '[' -r /var/lib/pgsql/data/PG_VERSION ']'
>++ /usr/bin/postmaster --version
>++ sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/'
>+ BIN_VERSION=7.4
>++ cat /var/lib/pgsql/data/PG_VERSION
>+ DATA_VERSION=7.4
>+ '[' 7.4 '!=' 7.4 ']'
>+ rc_reset
>+ _rc_status=0
>+ _rc_status_all=0
>+ rc_check
>+ _rc_status_ret=0
>+ test 0 -eq 0
>+ test 0 -eq 0
>+ return
>+ return 0
>+ case "$1" in
>+ /etc/init.d/postgresql stop
>Shutting down PostgreSQL done
>+ /etc/init.d/postgresql start
>Starting PostgreSQL done
>+ rc_status
>+ rc_check
>+ _rc_status_ret=0
>+ test 0 -eq 0
>+ test 0 -eq 0
>+ return
>+ test 0 -gt 7
>+ _rc_status_ret=0
>+ case "$_rc_todo" in
>+ local i
>+ return 0
>+ rc_exit
>+ exit 0
>
>here's libjvm.so:
>
># ls -l /usr/lib/jvm/java/jre/lib/i386/client
>total 4997
>drwxr-xr-x 2 root root 144 Mar 18 12:11 .
>drwxr-xr-x 5 root root 976 Mar 18 12:11 ..
>-rw-r--r-- 1 root root 1386 Sep 28 2004 Xusage.txt
>lrwxrwxrwx 1 root root 13 Mar 18 12:11 libjsig.so -> ../libjsig.so
>-rwxr-xr-x 1 root root 5103795 Sep 28 2004 libjvm.so
>
>
>
>_______________________________________________
>Pljava-dev mailing list
>Pljava-dev at gborg.postgresql.org
>http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>
>_______________________________________________
>Pljava-dev mailing list
>Pljava-dev at gborg.postgresql.org
>http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>
>
^ permalink raw reply [nested|flat] 7+ messages in thread
* [Pljava-dev] libjvm.so error
@ 2005-05-25 14:17
parent:
1 sibling, 1 reply; 7+ messages in thread
From: @ 2005-05-25 14:17 UTC (permalink / raw)
Hi Thomas,
Thanks for the help. Like Terrance, when I created a symlink in
/lib that solved the problem. You are correct that this is bypassing
LD_LIBRARY_PATH, but I could not figure out how to make the postmaster
aware of LD_LIBRARY_PATH. My approach was to add
export CLASSPATH=
and
export LD_LIBRARY_PATH=
statements to the init script used to start the postmaster. These
statements work fine with invoking the deployer from the command line:
# ldd /usr/lib/postgresql/libpljava.so
linux-gate.so.1 => (0xfbffd000)
libjvm.so => /usr/lib/jvm/java/jre/lib/i386/server/libjvm.so
(0x4001e000)
libc.so.6 => /lib/i686/libc.so.6 (0x40643000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40757000)
libm.so.6 => /lib/i686/libm.so.6 (0x4076d000)
libdl.so.2 => /lib/libdl.so.2 (0x40790000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40794000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
but they do not seem to propagate to the postmaster's environment. Any
suggestions? Is there any way to find out what environment variables
are set for a postmaster process?
As an aside, I had put the /usr/share/pgsql/pg73b1jdbc3.jar in my
CLASSPATH because it is evidently necessary to have it in the classpath
when running the deployer. I've since removed it.
Thanks,
Eric
Thomas Hallgren wrote:
> Terrance,
> The symbolic link you've added will make the dynamic loader find the
> libjvm.so without consulting the LD_LIBRARY_PATH so something is wrong
> with your LD_LIBRARY_PATH. Either it's not visible to the backend
> process somehow, or it's incorrect.
>
> The LD_LIBRARY_PATH *is* the mechanism whereby the system (i.e. the
> dynamic loader) will find either the server or the client version of
> PL/Java.
>
> Unrelated to this problem I also see that you have
> "/usr/share/pgsql/pg73b1jdbc3.jar" in your CLASSPATH. That's probably
> a very bad idea. PL/Java should not have this jar in it's classpath.
> Why do you need this?
>
> Regards,
> Thomas Hallgren
>
> Terrance Davis wrote:
>
>> I was having the same error today on linux, and happened to do an
>> 'ldd' on
>> 'libpljava.so'
>>
>> As I recall, it has a dependency on libjvm.so, but the installation
>> of Java
>> had not told the system where to find either the server or client
>> version of
>> libjvm.so, so I put a symbolic link to the libjvm.so version I wanted
>> to use
>> in the '/lib' directory and the error went away.
>>
>> I'm not sure if that is the right solution, but it seems to have
>> worked so
>> far.
>>
>> Terrance
>>
>>
>> -----Original Message-----
>> From: pljava-dev-bounces at gborg.postgresql.org
>> [mailto:pljava-dev-bounces at gborg.postgresql.org] On Behalf Of Eric E
>> Sent: Monday, May 23, 2005 4:42 PM
>> To: pljava-dev at gborg.postgresql.org
>> Subject: [Pljava-dev] libjvm.so error
>>
>> Howdy,
>> I'm having a bit of trouble installing PL/JAVA. I believe I've the
>> LD_LIB and CLASSPATH variables correctly, but I'm still getting the
>> error about libjvm.so:
>> ---------------
>> java.sql.SQLException: ERROR: could not load library
>> "/usr/lib/postgresql/libpljava.so": libjvm.so: cannot open shared object
>> file: No such file or directory
>> ---------------
>>
>> I believe I'm setting both CLASSPATH and LD_LIBRARY_PATH correctly for
>> my machine. Can you think of any reason why this error might occur?
>>
>> Below is the output of the init script to start postgres.
>>
>> Many thanks,
>>
>> Eric
>>
>> ---------------
>> # bash -x /etc/init.d/postgresql restart
>> + PG_SYSCONFIG=/etc/sysconfig/postgresql
>> + test -f /etc/sysconfig/postgresql
>> + . /etc/sysconfig/postgresql
>> ++ POSTGRES_DATADIR='~postgres/data'
>> ++ POSTGRES_OPTIONS=
>> ++ POSTGRES_LANG=
>> ++
>> POSTGRES_CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg
>>
>> 73b1jdbc3.jar
>> ++
>> POSTGRES_LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jr
>>
>> e/lib/i386/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>> + export
>> CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
>>
>> .jar
>> +
>> CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
>>
>> .jar
>> + export
>> LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
>>
>> 6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>> +
>> LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
>>
>> 6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>> + . /etc/rc.status
>> ++ test -z '' -o -z ''
>> +++ exec
>> +++ stty size
>> +++ read L C
>> +++ echo LINES=24 COLUMNS=80
>> ++ eval LINES=24 COLUMNS=80
>> +++ LINES=24
>> +++ COLUMNS=80
>> ++ test 24 -eq 0
>> ++ test 80 -eq 0
>> ++ export LINES COLUMNS
>> ++ case $PATH in
>> ++ test -t 1 -a xterm '!=' raw -a xterm '!=' dumb
>> ++ stty size
>> +++ echo -en '\033'
>> ++ esc=$'\E'
>> ++ extd=''
>> ++ warn=''
>> ++ done=''
>> ++ attn=''
>> +++ echo -en '\017'
>> ++ norm=''
>> +++ echo -en
>> '\015
>> '
>> ++ stat=' '
>> ++ rc_done='
>> done'
>> ++ rc_running='
>> running'
>> ++ rc_failed='
>> failed'
>> ++ rc_missed='
>> missing'
>> ++ rc_skipped='
>> skipped'
>> ++ rc_dead='
>> dead'
>> ++ rc_unused='
>> unused'
>> ++ rc_unknown='
>> failed''
>> ++ rc_reset=''p='
>> ++ rc_save=''
>> ++ rc_restor'='
>> ++ _rc_service=/etc/init.d/postgresql
>> ++ _rc_status=0
>> ++ _rc_status_all=0
>> ++ _rc_todo=restart
>> ++ test restart = status
>> ++ test -n restart
>> + LOGFILE=/var/log/postgresql
>> + eval 'DATADIR=~postgres/data'
>> ++ DATADIR=/var/lib/pgsql/data
>> + OPTIONS=
>> + H=/usr/bin/postmaster
>> + test -x /usr/bin/postmaster
>> + '[' -r /var/lib/pgsql/data/PG_VERSION ']'
>> ++ /usr/bin/postmaster --version
>> ++ sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/'
>> + BIN_VERSION=7.4
>> ++ cat /var/lib/pgsql/data/PG_VERSION
>> + DATA_VERSION=7.4
>> + '[' 7.4 '!=' 7.4 ']'
>> + rc_reset
>> + _rc_status=0
>> + _rc_status_all=0
>> + rc_check
>> + _rc_status_ret=0
>> + test 0 -eq 0
>> + test 0 -eq 0
>> + return
>> + return 0
>> + case "$1" in
>> + /etc/init.d/postgresql stop
>> Shutting down PostgreSQL
>> done
>> + /etc/init.d/postgresql start
>> Starting PostgreSQL
>> done
>> + rc_status
>> + rc_check
>> + _rc_status_ret=0
>> + test 0 -eq 0
>> + test 0 -eq 0
>> + return
>> + test 0 -gt 7
>> + _rc_status_ret=0
>> + case "$_rc_todo" in
>> + local i
>> + return 0
>> + rc_exit
>> + exit 0
>>
>> here's libjvm.so:
>>
>> # ls -l /usr/lib/jvm/java/jre/lib/i386/client
>> total 4997
>> drwxr-xr-x 2 root root 144 Mar 18 12:11 .
>> drwxr-xr-x 5 root root 976 Mar 18 12:11 ..
>> -rw-r--r-- 1 root root 1386 Sep 28 2004 Xusage.txt
>> lrwxrwxrwx 1 root root 13 Mar 18 12:11 libjsig.so -> ../libjsig.so
>> -rwxr-xr-x 1 root root 5103795 Sep 28 2004 libjvm.so
>>
>>
>>
>> _______________________________________________
>> Pljava-dev mailing list
>> Pljava-dev at gborg.postgresql.org
>> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>>
>> _______________________________________________
>> Pljava-dev mailing list
>> Pljava-dev at gborg.postgresql.org
>> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>>
>>
>
>
>
>
^ permalink raw reply [nested|flat] 7+ messages in thread
* [Pljava-dev] libjvm.so error
@ 2005-05-25 15:10
parent:
0 siblings, 1 reply; 7+ messages in thread
From: @ 2005-05-25 15:10 UTC (permalink / raw)
Hi all,
Well, I'm guessing that lack of LD_LIBRARY_PATH is coming back to bite
me again... I went to run the examples, and got this in the log (I was
impressed at how Postgres handled the crash :)
2005-05-25 10:57:48 LOG: Error occurred during initialization of VM
2005-05-25 10:57:48 LOG: Unable to load native library
2005-05-25 10:57:48 LOG: : libverify.so: cannot open shared object
file: No such file or directory
and of course, libverify.so is in /usr/lib/jvm/java/jre/lib/i386 ...
So I guess I'm back to my previous question - how do I make the
postmaster aware of LD_LIBRARY_PATH?
Thanks,
Eric
Eric E wrote:
> Hi Thomas,
> Thanks for the help. Like Terrance, when I created a symlink in
> /lib that solved the problem. You are correct that this is bypassing
> LD_LIBRARY_PATH, but I could not figure out how to make the postmaster
> aware of LD_LIBRARY_PATH. My approach was to add
> export CLASSPATH=
> and
> export LD_LIBRARY_PATH=
> statements to the init script used to start the postmaster. These
> statements work fine with invoking the deployer from the command line:
> # ldd /usr/lib/postgresql/libpljava.so
> linux-gate.so.1 => (0xfbffd000)
> libjvm.so => /usr/lib/jvm/java/jre/lib/i386/server/libjvm.so
> (0x4001e000)
> libc.so.6 => /lib/i686/libc.so.6 (0x40643000)
> libnsl.so.1 => /lib/libnsl.so.1 (0x40757000)
> libm.so.6 => /lib/i686/libm.so.6 (0x4076d000)
> libdl.so.2 => /lib/libdl.so.2 (0x40790000)
> libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40794000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
>
> but they do not seem to propagate to the postmaster's environment.
> Any suggestions? Is there any way to find out what environment
> variables are set for a postmaster process?
>
> As an aside, I had put the /usr/share/pgsql/pg73b1jdbc3.jar in my
> CLASSPATH because it is evidently necessary to have it in the
> classpath when running the deployer. I've since removed it.
>
> Thanks,
>
> Eric
>
> Thomas Hallgren wrote:
>
>> Terrance,
>> The symbolic link you've added will make the dynamic loader find the
>> libjvm.so without consulting the LD_LIBRARY_PATH so something is
>> wrong with your LD_LIBRARY_PATH. Either it's not visible to the
>> backend process somehow, or it's incorrect.
>>
>> The LD_LIBRARY_PATH *is* the mechanism whereby the system (i.e. the
>> dynamic loader) will find either the server or the client version of
>> PL/Java.
>>
>> Unrelated to this problem I also see that you have
>> "/usr/share/pgsql/pg73b1jdbc3.jar" in your CLASSPATH. That's probably
>> a very bad idea. PL/Java should not have this jar in it's classpath.
>> Why do you need this?
>>
>> Regards,
>> Thomas Hallgren
>>
>> Terrance Davis wrote:
>>
>>> I was having the same error today on linux, and happened to do an
>>> 'ldd' on
>>> 'libpljava.so'
>>>
>>> As I recall, it has a dependency on libjvm.so, but the installation
>>> of Java
>>> had not told the system where to find either the server or client
>>> version of
>>> libjvm.so, so I put a symbolic link to the libjvm.so version I
>>> wanted to use
>>> in the '/lib' directory and the error went away.
>>>
>>> I'm not sure if that is the right solution, but it seems to have
>>> worked so
>>> far.
>>>
>>> Terrance
>>>
>>>
>>> -----Original Message-----
>>> From: pljava-dev-bounces at gborg.postgresql.org
>>> [mailto:pljava-dev-bounces at gborg.postgresql.org] On Behalf Of Eric E
>>> Sent: Monday, May 23, 2005 4:42 PM
>>> To: pljava-dev at gborg.postgresql.org
>>> Subject: [Pljava-dev] libjvm.so error
>>>
>>> Howdy,
>>> I'm having a bit of trouble installing PL/JAVA. I believe I've the
>>> LD_LIB and CLASSPATH variables correctly, but I'm still getting the
>>> error about libjvm.so:
>>> ---------------
>>> java.sql.SQLException: ERROR: could not load library
>>> "/usr/lib/postgresql/libpljava.so": libjvm.so: cannot open shared
>>> object
>>> file: No such file or directory
>>> ---------------
>>>
>>> I believe I'm setting both CLASSPATH and LD_LIBRARY_PATH correctly for
>>> my machine. Can you think of any reason why this error might occur?
>>>
>>> Below is the output of the init script to start postgres.
>>>
>>> Many thanks,
>>>
>>> Eric
>>>
>>> ---------------
>>> # bash -x /etc/init.d/postgresql restart
>>> + PG_SYSCONFIG=/etc/sysconfig/postgresql
>>> + test -f /etc/sysconfig/postgresql
>>> + . /etc/sysconfig/postgresql
>>> ++ POSTGRES_DATADIR='~postgres/data'
>>> ++ POSTGRES_OPTIONS=
>>> ++ POSTGRES_LANG=
>>> ++
>>> POSTGRES_CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg
>>>
>>> 73b1jdbc3.jar
>>> ++
>>> POSTGRES_LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jr
>>>
>>> e/lib/i386/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>>> + export
>>> CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
>>>
>>> .jar
>>> +
>>> CLASSPATH=/usr/lib/postgresql/pljava/pljava.jar:/usr/share/pgsql/pg73b1jdbc3
>>>
>>> .jar
>>> + export
>>> LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
>>>
>>> 6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>>> +
>>> LD_LIBRARY_PATH=/usr/lib/jvm/java/jre/lib/i386:/usr/lib/jvm/java/jre/lib/i38
>>>
>>> 6/client:/usr/lib/jvm/java/jre/lib/i386/native_threads
>>> + . /etc/rc.status
>>> ++ test -z '' -o -z ''
>>> +++ exec
>>> +++ stty size
>>> +++ read L C
>>> +++ echo LINES=24 COLUMNS=80
>>> ++ eval LINES=24 COLUMNS=80
>>> +++ LINES=24
>>> +++ COLUMNS=80
>>> ++ test 24 -eq 0
>>> ++ test 80 -eq 0
>>> ++ export LINES COLUMNS
>>> ++ case $PATH in
>>> ++ test -t 1 -a xterm '!=' raw -a xterm '!=' dumb
>>> ++ stty size
>>> +++ echo -en '\033'
>>> ++ esc=$'\E'
>>> ++ extd=''
>>> ++ warn=''
>>> ++ done=''
>>> ++ attn=''
>>> +++ echo -en '\017'
>>> ++ norm=''
>>> +++ echo -en
>>> '\015
>>> '
>>> ++ stat=' '
>>> ++
>>> rc_done='
>>> done'
>>> ++ rc_running='
>>> running'
>>> ++ rc_failed='
>>> failed'
>>> ++ rc_missed='
>>> missing'
>>> ++ rc_skipped='
>>> skipped'
>>> ++
>>> rc_dead='
>>> dead'
>>> ++ rc_unused='
>>> unused'
>>> ++ rc_unknown='
>>> failed''
>>> ++ rc_reset=''p='
>>> ++ rc_save=''
>>> ++ rc_restor'='
>>> ++ _rc_service=/etc/init.d/postgresql
>>> ++ _rc_status=0
>>> ++ _rc_status_all=0
>>> ++ _rc_todo=restart
>>> ++ test restart = status
>>> ++ test -n restart
>>> + LOGFILE=/var/log/postgresql
>>> + eval 'DATADIR=~postgres/data'
>>> ++ DATADIR=/var/lib/pgsql/data
>>> + OPTIONS=
>>> + H=/usr/bin/postmaster
>>> + test -x /usr/bin/postmaster
>>> + '[' -r /var/lib/pgsql/data/PG_VERSION ']'
>>> ++ /usr/bin/postmaster --version
>>> ++ sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/'
>>> + BIN_VERSION=7.4
>>> ++ cat /var/lib/pgsql/data/PG_VERSION
>>> + DATA_VERSION=7.4
>>> + '[' 7.4 '!=' 7.4 ']'
>>> + rc_reset
>>> + _rc_status=0
>>> + _rc_status_all=0
>>> + rc_check
>>> + _rc_status_ret=0
>>> + test 0 -eq 0
>>> + test 0 -eq 0
>>> + return
>>> + return 0
>>> + case "$1" in
>>> + /etc/init.d/postgresql stop
>>> Shutting down
>>> PostgreSQL done
>>> + /etc/init.d/postgresql start
>>> Starting
>>> PostgreSQL done
>>> + rc_status
>>> + rc_check
>>> + _rc_status_ret=0
>>> + test 0 -eq 0
>>> + test 0 -eq 0
>>> + return
>>> + test 0 -gt 7
>>> + _rc_status_ret=0
>>> + case "$_rc_todo" in
>>> + local i
>>> + return 0
>>> + rc_exit
>>> + exit 0
>>>
>>> here's libjvm.so:
>>>
>>> # ls -l /usr/lib/jvm/java/jre/lib/i386/client
>>> total 4997
>>> drwxr-xr-x 2 root root 144 Mar 18 12:11 .
>>> drwxr-xr-x 5 root root 976 Mar 18 12:11 ..
>>> -rw-r--r-- 1 root root 1386 Sep 28 2004 Xusage.txt
>>> lrwxrwxrwx 1 root root 13 Mar 18 12:11 libjsig.so ->
>>> ../libjsig.so
>>> -rwxr-xr-x 1 root root 5103795 Sep 28 2004 libjvm.so
>>>
>>>
>>>
>>> _______________________________________________
>>> Pljava-dev mailing list
>>> Pljava-dev at gborg.postgresql.org
>>> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>>>
>>> _______________________________________________
>>> Pljava-dev mailing list
>>> Pljava-dev at gborg.postgresql.org
>>> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>>>
>>>
>>
>>
>>
>>
>
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at gborg.postgresql.org
> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>
>
^ permalink raw reply [nested|flat] 7+ messages in thread
* [Pljava-dev] libjvm.so error
@ 2005-05-25 18:01
parent:
0 siblings, 1 reply; 7+ messages in thread
From: @ 2005-05-25 18:01 UTC (permalink / raw)
Eric E wrote:
> Hi all,
> Well, I'm guessing that lack of LD_LIBRARY_PATH is coming back to bite
> me again... I went to run the examples, and got this in the log (I
> was impressed at how Postgres handled the crash :)
>
>
> 2005-05-25 10:57:48 LOG: Error occurred during initialization of VM
> 2005-05-25 10:57:48 LOG: Unable to load native library
> 2005-05-25 10:57:48 LOG: : libverify.so: cannot open shared object
> file: No such file or directory
>
> and of course, libverify.so is in /usr/lib/jvm/java/jre/lib/i386 ...
>
> So I guess I'm back to my previous question - how do I make the
> postmaster aware of LD_LIBRARY_PATH?
Exporting it just before the command that starts the postmaster
executable sure does it for me. I don't know any other way.
Regards,
Thomas Hallgren
^ permalink raw reply [nested|flat] 7+ messages in thread
* [Pljava-dev] libjvm.so error
@ 2005-05-25 20:58
parent:
0 siblings, 0 replies; 7+ messages in thread
From: @ 2005-05-25 20:58 UTC (permalink / raw)
LD_LIBRARY_PATH is not the "proper" way. Edit /etc/ld.so.conf and add the
path to libverify.so there, then run ldconfig.
--Stephen
On 5/25/05, Thomas Hallgren <thhal at mailblocks.com> wrote:
>
> Eric E wrote:
>
> > Hi all,
> > Well, I'm guessing that lack of LD_LIBRARY_PATH is coming back to bite
> > me again... I went to run the examples, and got this in the log (I
> > was impressed at how Postgres handled the crash :)
> >
> >
> > 2005-05-25 10:57:48 LOG: Error occurred during initialization of VM
> > 2005-05-25 10:57:48 LOG: Unable to load native library
> > 2005-05-25 10:57:48 LOG: : libverify.so: cannot open shared object
> > file: No such file or directory
> >
> > and of course, libverify.so is in /usr/lib/jvm/java/jre/lib/i386 ...
> >
> > So I guess I'm back to my previous question - how do I make the
> > postmaster aware of LD_LIBRARY_PATH?
>
> Exporting it just before the command that starts the postmaster
> executable sure does it for me. I don't know any other way.
>
> Regards,
> Thomas Hallgren
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at gborg.postgresql.org
> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20050525/e49b4deb/attachment.html;
^ permalink raw reply [nested|flat] 7+ messages in thread
end of thread, other threads:[~2005-05-25 20:58 UTC | newest]
Thread overview: 7+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2005-05-23 22:41 [Pljava-dev] libjvm.so error
2005-05-24 22:38 `
2005-05-25 05:29 `
2005-05-25 14:17 `
2005-05-25 15:10 `
2005-05-25 18:01 `
2005-05-25 20:58 `
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox