From: zoong at zoong.com (Zoong PHAM) Date: Thu, 26 May 2005 23:43:10 +1000 Subject: [Pljava-dev] libpljava.so: failed to map segment from shared object: Permission denied In-Reply-To: <20050522021120.GC14268@www.zoong.com> References: <20050522021120.GC14268@www.zoong.com> Message-ID: <20050526134310.GG14268@www.zoong.com> I have problem using pljava-1.1.0 and PostgreSQL 8.0.3 for Compiere-2.5.2 on Redhat Enterprise Linux AS 4 Intel 32 bit. Here are the command and error message: /opt/SUNWappserver/jdk/bin/java -cp /home/zoong/JDK/pljava-1.1.0/build/deploy.jar:/usr/share/java/postgresql-8.0-311.jdbc3.jar org.postgresql.pljava.deploy.Deployer -install -user compiere -database cmpcs java.sql.SQLException: ERROR: could not load library "/usr/lib/libpljava.so": /usr/lib/libpljava.so: failed to map segment from shared object: Permission denied 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 are the details: 0) uninstalled the following Rehdat default PostgreSQL 7 packages: postgresql-odbc-7.3-8 postgresql-pl-7.4.6-1.RHEL4.2 postgresql-libs-7.4.6-1.RHEL4.2 postgresql-7.4.6-1.RHEL4.2 postgresql-test-7.4.6-1.RHEL4.2 postgresql-devel-7.4.6-1.RHEL4.2 postgresql-jdbc-7.4.6-1.RHEL4.2 postgresql-python-7.4.6-1.RHEL4.2 postgresql-contrib-7.4.6-1.RHEL4.2 postgresql-docs-7.4.6-1.RHEL4.2 postgresql-server-7.4.6-1.RHEL4.2 qt-PostgreSQL-3.3.3-9.3 freeradius-postgresql-1.0.1-2.RHEL4 postgresql-tcl-7.4.6-1.RHEL4.2 1) installed PostgreSQL 8 using RPMs from postgresql.org: # rpm -qa | grep postgresql postgresql-contrib-8.0.3-1PGDG postgresql-server-8.0.3-1PGDG postgresql-libs-8.0.3-1PGDG postgresql-docs-8.0.3-1PGDG postgresql-test-8.0.3-1PGDG postgresql-8.0.3-1PGDG postgresql-jdbc-8.0.3-1PGDG postgresql-pl-8.0.3-1PGDG postgresql-python-8.0.3-1PGDG postgresql-devel-8.0.3-1PGDG # 2) installed Sun SDK j2eesdk-1_4_01_2005Q1-linux.bin downloaded from java.sun.com # ls -l /opt/SUNWappserver total 2260 -rw-r--r-- 1 root root 260543 May 21 19:00 3RD-PARTY-LICENSE.txt -rw-r--r-- 1 root root 1569997 May 21 18:59 appserv_uninstall.class drwxr-xr-x 2 root root 4096 May 21 19:01 bin drwxr-xr-x 2 root root 4096 May 21 19:01 config -rw-r--r-- 1 root root 4365 May 21 19:00 COPYRIGHT drwxr-xr-x 5 root root 4096 May 21 19:00 docs drwxr-xr-x 4 root root 4096 May 21 19:01 domains drwxr-xr-x 8 root root 4096 May 21 19:02 imq drwxr-xr-x 8 root root 4096 May 21 18:59 jdk drwxr-xr-x 11 root root 4096 May 21 19:01 lib -rw-r--r-- 1 root root 12656 May 21 19:00 LICENSE.txt drwxr-xr-x 5 root root 4096 May 21 19:02 pointbase drwxr-xr-x 20 root root 4096 May 21 19:00 samples -rwxr-xr-x 1 root root 347912 May 21 18:59 uninstall 3) installed pljava-src-1.1.0.tar.gz: # export PATH=/opt/SUNWappserver/jdk/bin:$PATH # export JAVA_HOME=/opt/SUNWappserver/jdk # tar zxf pljava-src-1.1.0.tar.gz # cd pljava-1.1.0 # make; make install That installed these libs into /usr/lib/ -rw-r--r-- 1 root root 2097994 May 22 00:10 libpljava.a -rwxr-xr-x 1 root root 1159391 May 22 00:10 libpljava.so.1.1 lrwxrwxrwx 1 root root 16 May 22 00:10 libpljava.so.1 -> libpljava.so.1.1 lrwxrwxrwx 1 root root 16 May 22 00:10 libpljava.so -> libpljava.so.1.1 4) Updated postgresql.conf: # grep pljava.classpath /var/lib/pgsql/data/postgresql.conf pljava.classpath = '/home/zoong/JDK/pljava-1.1.0/build/pljava.jar' Also tried with: pljava.classpath = '/home/zoong/JDK/pljava-1.1.0/build' # ls -l /home/zoong/JDK/pljava-1.1.0/build/pljava.jar -rwxr-xr-x 1 root root 126271 May 22 00:10 /home/zoong/JDK/pljava-1.1.0/build/pljava.jar # grep dynamic /var/lib/pgsql/data/postgresql.conf dynamic_library_path = '$libdir:/usr/lib/pgsql:/usr/lib:/home/zoong/JDK/pljava-1.1.0/build:/home/zoong/JDK/pljava-1.1.0/build/objs' 5) started PostgreSQL: su - postgres $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/SUNWappserver/jdk/jre/lib:/usr/lib:/usr/lib/pgsql:/opt/SUNWappserver/jdk/jre/lib/i386:/opt/SUNWappserver/jdk/jre/lib/i386/client:/opt/SUNWappserver/jdk/jre/lib/i386/native_threads $ export PATH=/opt/SUNWappserver/jdk/bin:$PATH $ export JAVA_HOME=/opt/SUNWappserver/jdk $ pg_ctl start -D /var/lib/pgsql/data -l logfile -o "-i" 6) # ldd /usr/lib/libpljava.so libjvm.so => /opt/SUNWappserver/jdk/jre/lib/i386/client/libjvm.so (0x009b2000) libc.so.6 => /lib/tls/libc.so.6 (0x004e8000) libnsl.so.1 => /lib/libnsl.so.1 (0x002cc000) libm.so.6 => /lib/tls/libm.so.6 (0x0069b000) libdl.so.2 => /lib/libdl.so.2 (0x00111000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x001a0000) /lib/ld-linux.so.2 (0x008ec000) Any help would be very appreciated. Zoong