Dynamically linked libjli for *BSD

Kurt Miller kurt at intricatesoftware.com
Mon May 18 18:38:13 UTC 2015


On Mon, 2015-05-18 at 13:14 -0400, Jung-uk Kim wrote:
> On 05/18/2015 02:52, Greg Lewis wrote:
> > On Sun, May 17, 2015 at 11:30:26AM -0400, Christos Zoulas wrote:
> >> On May 16,  3:06pm, kurt at intricatesoftware.com (Kurt Miller)
> >> wrote: -- Subject: Dynamically linked libjli for *BSD
> >> 
> >> | Hi Greg, Christos, | | Currently building the jdk with debug
> >> symbols fails on OpenBSD and | I suspect at least FreeBSD (since
> >> it is disabled in the ports tree | java/openjdk8/Makefile too).
> >> This was determined to be caused by | libjli being statically
> >> linked on *BSD. [1] | | Statically linking libjli was a
> >> work-around introduced in 1.5 or 1.6 | most likely due to the
> >> lack of rpath $ORIGIN support in our runtime | linkers. All of
> >> the BSD's have rpath $ORIGIN support for several | years now. I
> >> propose that we eliminate linking libjli statically and | remove
> >> another difference we have in the build when compared to | Linux
> >> and Solaris. Dynamically linking libjli fixes the build with |
> >> debug symbols. | | Please review/test this diff on FreeBSD and
> >> NetBSD and let me know if | you are okay with the change.
> >> 
> >> Works on NetBSD. Just a note, $ORIGIN support is not fully
> >> implemented on NetBSD, there is a #ifdef notyet in kern_exec.c...
> >> But running java with a full path in $0 works. I'd say apply it
> >> if it works for others.
> > 
> > Works for me too on FreeBSD 10.1.
> 
> A PR with the same idea was filed but I rejected it:
> 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193009


Oh, I wasn't aware of the parallel FreeBSD work on this. 

> Actually, we had a $ORIGIN problem, which affected some ports, e.g.,
> java/icedtea-web.  I fixed it in r279364 for head and MFC'ed in
> r279713, r279714 and r279715 to stable/10, stable/9 and stable/8,
> respectively.
> 
> https://svnweb.freebsd.org/changeset/base/279364
> https://svnweb.freebsd.org/changeset/base/279713
> https://svnweb.freebsd.org/changeset/base/279714
> https://svnweb.freebsd.org/changeset/base/279715
> 
> Unfortunately, no FreeBSD *release* has this fix.

What do you suggest we do with bsd-port/jdk8? Should I make this change
OpenBSD specific or are you okay with how it is now?

-Kurt



More information about the bsd-port-dev mailing list