RFR: JDK-8139653: Freetype bundled on macosx, but not correctly linked
Erik Joelsson
erik.joelsson at oracle.com
Wed Nov 29 22:48:37 UTC 2017
When building macosx openjdk and enabling bundling of freetype (which is
usually not the default), the makefiles will copy the library in, but
libfontmanager will not be able to link to it at runtime. This is caused
by a peculiarity on macosx where a library that is being linked to
specifies the rpath to use in any library that links to it. At Oracle we
currently link to the libfreetype in x11 from Quartz, which is located
in /opt/X11/lib/libfreetype.6.dylib, so the libfontmanager we build will
only look in that location at runtime.
This patch adds a new build step, using the install_name_tool which can
rewrite this rpath to where you actually have a dependency on your
system. In this case right next to libfontmanager in the same directory.
I also changed the import logic that copies in libfreetype so that it
doesn't a .6 at the end on macosx.
This patch does not change the defaults for bundling of freetype, nor
does it change how Oracle bundles freetype. That may come later.
Bug: https://bugs.openjdk.java.net/browse/JDK-8139653
Webrev: http://cr.openjdk.java.net/~erikj/8139653/webrev.01/
/Erik
More information about the build-dev
mailing list