From: | thhal at mailblocks(dot)com (Thomas Hallgren) |
---|---|
To: | |
Subject: | [Pljava-dev] difficulty loading library libpljava.so |
Date: | 2005-05-01 08:11:32 |
Message-ID: | 42748F34.2030503@mailblocks.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pljava-dev |
Vince Clark wrote:
> I am trying to install pljava1.1.0. Running Postgres 8.0.2 on SuSE 9.2
>
> I consistently receive the following error:
> ERROR: could not load library
> "/var/lib/pgsql/pljava-1.1.0/build/objs/libpljava.so":
> /var/lib/pgsql/pljava-1.1.0/build/objs/libpljava.so: cannot open
> shared object file: No such file or directory
> java.sql.SQLException: ERROR: could not load library
> "/var/lib/pgsql/pljava-1.1.0/build/objs/libpljava.so":
> /var/lib/pgsql/pljava-1.1.0/build/objs/libpljava.so: cannot open
> shared object file: No such file or directory
> at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1471)
> at
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1256)
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:175)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:389)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:314)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:306)
> at
> org.postgresql.pljava.deploy.Deployer.initJavaHandlers(Deployer.java:419)
> at org.postgresql.pljava.deploy.Deployer.main(Deployer.java:275)
>
> Here is the value for dynamic_library_path in pogresql.conf file:
> dynamic_library_path =
> '/var/lib/pgsql/pljava-1.1.0/build/objs/:/usr/lib/jvm/java-1.4.2-sun-1.4.2.06/jre/lib/i386/client/'
>
> And LD_LIBRARY_PATH is set to:
> /var/lib/pgsql/pljava-1.1.0/build/objs/:/usr/lib/jvm/java-1.4.2-sun-1.4.2.06/jre/lib/i386/client/
>
> I have restarted Postgres.
My guess is that your dynamic_library_path should look like this:
dynamic_library_path = '$libdir:/var/lib/pgsql/pljava-1.1.0/build/objs'
and you LD_LIBRARY_PATH like this:
/usr/lib/jvm/java-1.4.2-sun-1.4.2.06/jre/lib/i386/client:/usr/lib/jvm/java-1.4.2-sun-1.4.2.06/jre/lib/i386
Java uses two directories. You had the jre/lib/i386/client correct. The
directory above 'client' must be included also.
The dynamic_library_path is used by PostgreSQL to find modules but this
setting will not have any effect on the library loader, and vice versa.
What normally happens when a module is loaded is:
1. PostgreSQL constructs absolute paths based on the
dynamic_library_path setting. It attempts those paths in succession
until the module can be found.
2. For most modules #1 is enough. Some modules, like PL/Java needs other
shared objects and the OS library loader will load them automatically.
The library loader uses LD_LIBRARY_PATH and has no access to the
dynamic_library_path.
I hope this helps.
Regards,
Thomas Hallgren
> --
> Vince Clark
> Global Era
> The freedom of open source.
> (303) 433-4221 ext. 201
> (303) 455-2409 fax
> vclark at globalera.com <mailto:vclark at globalera.com>
> www.globalera.com
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Pljava-dev mailing list
>Pljava-dev at gborg.postgresql.org
>http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jordi Marquès | 2005-05-05 13:53:57 | [Pljava-dev] Problems with JDBC-UNICODE |
Previous Message | Vince Clark | 2005-04-30 23:04:27 | [Pljava-dev] difficulty loading library libpljava.so |