Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Nov 2018 18:07:29 -0500
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        Achilleas Mantzios <achill@matrix.gatewaynet.com>, "freebsd-java@freebsd.org" <freebsd-java@freebsd.org>
Subject:   Re: FreeBSD failed: /usr/local/openjdk8/jre/lib/amd64/server/libjvm.so: Undefined symbol "pthread_set_name_np"
Message-ID:  <14d72ae2-0928-0361-bda8-498ea11bc059@FreeBSD.org>
In-Reply-To: <9af9d1eb-02fa-722c-1c59-64378f3827af@matrix.gatewaynet.com>
References:  <9af9d1eb-02fa-722c-1c59-64378f3827af@matrix.gatewaynet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--QCtAV976VCXgSz42dCi67V7WM4kTmkTGI
Content-Type: multipart/mixed; boundary="hVvMsUw0cYQgA1ZfUK6fLWYM2pWT6SXaR";
 protected-headers="v1"
From: Jung-uk Kim <jkim@FreeBSD.org>
To: Achilleas Mantzios <achill@matrix.gatewaynet.com>,
 "freebsd-java@freebsd.org" <freebsd-java@freebsd.org>
Message-ID: <14d72ae2-0928-0361-bda8-498ea11bc059@FreeBSD.org>
Subject: Re: FreeBSD failed:
 /usr/local/openjdk8/jre/lib/amd64/server/libjvm.so: Undefined symbol
 "pthread_set_name_np"
References: <9af9d1eb-02fa-722c-1c59-64378f3827af@matrix.gatewaynet.com>
In-Reply-To: <9af9d1eb-02fa-722c-1c59-64378f3827af@matrix.gatewaynet.com>

--hVvMsUw0cYQgA1ZfUK6fLWYM2pWT6SXaR
Content-Type: multipart/mixed;
 boundary="------------B83CB1E197399159950B6312"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------B83CB1E197399159950B6312
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 18. 11. 15., Achilleas Mantzios wrote:
> Dear members,
>=20
> 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 :
>=20
> [local] [448] 5bed6f0c.1c0 2018-11-15 15:10:36.784 EET psql
> postgres@dynacom line:15 WARNING: Java virtual machine not yet loaded
>=20
> [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"
>=20
> [local] [448] 5bed6f0c.1c0 2018-11-15 15:10:36.784 EET psql
> postgres@dynacom line:17 HINT: SET pljava.libjvm_location TO the correc=
t
> path to the jvm library (libjvm.so or jvm.dll, etc.)
>=20
> [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
>=20
> [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
>=20
> It used to work with openjdk7, by doing :
>=20
> postgres@smadev:~% ldd /usr/local/openjdk8/jre/lib/amd64/server/libjvm.=
so
> /usr/local/openjdk8/jre/lib/amd64/server/libjvm.so:
> libm.so.5 =3D> /lib/libm.so.5 (0x801dd8000)
> libc++.so.1 =3D> /usr/lib/libc++.so.1 (0x802005000)
> libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x8022d3000)
> libc.so.7 =3D> /lib/libc.so.7 (0x800823000)
> libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x8024f2000)
>=20
> postgres@smadev:~%
>=20
> I see no linking to libthr, whereas if I ldd jdk7 I get :
>=20
> 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 =3D> /lib/libm.so.5 (0x801d42000)
> libc++.so.1 =3D> /usr/lib/libc++.so.1 (0x801f6f000)
> libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x80223d000)
> libthr.so.3 =3D> /lib/libthr.so.3 (0x80245c000)
> libc.so.7 =3D> /lib/libc.so.7 (0x800823000)
> libgcc_s.so.1 =3D> /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?

Please try the attached patch.

Jung-uk Kim

--------------B83CB1E197399159950B6312
Content-Type: text/x-patch;
 name="openjdk8.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="openjdk8.diff"

Index: java/openjdk8/files/patch-hotspot_make_bsd_makefiles_vm.make
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- java/openjdk8/files/patch-hotspot_make_bsd_makefiles_vm.make	(nonexis=
tent)
+++ java/openjdk8/files/patch-hotspot_make_bsd_makefiles_vm.make	(working=
 copy)
@@ -0,0 +1,13 @@
+--- hotspot/make/bsd/makefiles/vm.make.orig	2014-03-04 02:52:06 UTC
++++ hotspot/make/bsd/makefiles/vm.make
+@@ -132,6 +132,10 @@ LIBS +=3D -lm
+=20
+ ifeq ($(USE_CLANG),)
+   LIBS +=3D -pthread
++else
++  ifeq ($(OS_VENDOR), FreeBSD)
++    LIBS +=3D -pthread
++  endif
+ endif
+=20
+ # By default, link the *.o into the library, not the executable.

--------------B83CB1E197399159950B6312--

--hVvMsUw0cYQgA1ZfUK6fLWYM2pWT6SXaR--

--QCtAV976VCXgSz42dCi67V7WM4kTmkTGI
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEl1bqgKaRyqfWXu/CfJ+WJvzb8UYFAlvt/DsACgkQfJ+WJvzb
8Ua/1ggAhBwvIPfaFKmC2orWiGp1Ihml9hiFWzhJQpqtbyJlObfFGM1V3YFxmosu
Psd4Vns/12tfDq0rPPFTez80SS/n4JLY/93CBd6mm79LXCEAAfbJPc9Q435+CVQH
2/7Fmw/9Nf/VAilYYg/CMH34v/iuPTKinCu707rNwfjdtFLOolV6bGCTJp1cn32y
hW7Yus6FvDAQGHlZ4pGaAssBnXj1DV18sghHvPbZnTPiYqvcDGl+yuj3i9C5SqWW
7sa8xX+OLTCzmCrfQ0GiOWbgEsd4xY+3Rk5efm6VT8Lc481iKk0z3A2q3aZEd2rh
+3FSxZkeXOUqZuH+MJdT6WHyTugbhw==
=tsRJ
-----END PGP SIGNATURE-----

--QCtAV976VCXgSz42dCi67V7WM4kTmkTGI--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14d72ae2-0928-0361-bda8-498ea11bc059>