Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Nov 2018 16:34:44 +0200
From:      Achilleas Mantzios <achill@matrix.gatewaynet.com>
To:        "freebsd-java@freebsd.org" <freebsd-java@freebsd.org>
Subject:   FreeBSD failed: /usr/local/openjdk8/jre/lib/amd64/server/libjvm.so: Undefined symbol "pthread_set_name_np"
Message-ID:  <9af9d1eb-02fa-722c-1c59-64378f3827af@matrix.gatewaynet.com>

next in thread | raw e-mail | index | archive | help
Dear members,

I run FreeBSD 11.2-RELEASE-p3 with openjdk8-8.181.13 and I am trying to install pljava (java PL support for PostgreSQL,triggers), I have successfully built pljava, and installed it, but when I try to 
create the extension I get :

[local] [448] 5bed6f0c.1c0 2018-11-15 15:10:36.784 EET psql postgres@dynacom line:15 WARNING: Java virtual machine not yet loaded

[local] [448] 5bed6f0c.1c0 2018-11-15 15:10:36.784 EET psql postgres@dynacom line:16 DETAIL: dlopen (/usr/local/openjdk8/jre/lib/amd64/server/libjvm.so) failed: 
/usr/local/openjdk8/jre/lib/amd64/server/libjvm.so: Undefined symbol "pthread_set_name_np"

[local] [448] 5bed6f0c.1c0 2018-11-15 15:10:36.784 EET psql postgres@dynacom line:17 HINT: SET pljava.libjvm_location TO the correct path to the jvm library (libjvm.so or jvm.dll, etc.)

[local] [448] 5bed6f0c.1c0 2018-11-15 15:10:36.784 EET psql postgres@dynacom line:18 CONTEXT: PL/pgSQL function call_weeklycheck_before() line 6 at assignment

[local] [448] 5bed6f0c.1c0 2018-11-15 15:10:36.784 EET psql postgres@dynacom line:19 ERROR: cannot use PL/Java before successfully completing its setup

It used to work with openjdk7, by doing :

postgres@smadev:~% ldd /usr/local/openjdk8/jre/lib/amd64/server/libjvm.so
/usr/local/openjdk8/jre/lib/amd64/server/libjvm.so:
libm.so.5 => /lib/libm.so.5 (0x801dd8000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x802005000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x8022d3000)
libc.so.7 => /lib/libc.so.7 (0x800823000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x8024f2000)

postgres@smadev:~%

I see no linking to libthr, whereas if I ldd jdk7 I get :

postgres@smadev:~% ldd /pgsqlbig/SMADEV_BACKUP/usr/local/openjdk7/jre/lib/amd64/server/libjvm.so
/pgsqlbig/SMADEV_BACKUP/usr/local/openjdk7/jre/lib/amd64/server/libjvm.so:
libm.so.5 => /lib/libm.so.5 (0x801d42000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x801f6f000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x80223d000)
libthr.so.3 => /lib/libthr.so.3 (0x80245c000)
libc.so.7 => /lib/libc.so.7 (0x800823000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x802684000)
postgres@smadev:~%
And it indeed runs with jd7.
However, jdk7 is no more on this machine, and also pljava was compiled with jdk8. Any ideas?

-- 
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9af9d1eb-02fa-722c-1c59-64378f3827af>