-
-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update build scripts with location of libfreetype.6.dylib #202
Comments
I've looked into this issue and found that libfreetype.6.dylib is not a run-path dependent library. As a result libfontmanager.dylib is linked with the complete install_name of library.
All other libraries part of JDK are created as run-path dependent libraries. For example libawt.dylib, libjava.dylib ... As libfreetype.6.dylib is generated outside JDK, it is necessary to change LINKER flag to
|
I tried to see if there is any configure option in freetype-2.4.0 to change install_name to @rpath. I could not find any. Alternatively, we can use following command to change install_name of libfreetype.6.dylib
|
libfreetype.dylib.6 present in jdk/lib is not valid library on Mac. Another change is required to copy it as libfreetype.6.dylib |
@mbvreddy Thanks for doing the investigation wrt to this issue. I'll attempt to use your suggestions and get back asap. |
@mbvreddy Can you please explain to me what you mean by this:
To which app is the The below command:
Does not give a feedback if it has worked or not, just returns to the prompt. What command did you use to find the attached runpath to this dynamic library? As the path is embedded inside the binary itself. Would be great to get answers to the above. |
… path embedded into the binary, and release it from the runpath dependency - as per suggestion from @mbvreddy, do it only for MacOSX builds (hence check for "darwin") Potentially fixes issue adoptium#202
install_name_tool doesn't give any output. But you can use |
There is another issue to take care as mentioned in #202 (comment) |
To which app is the -install_name flag passed?
|
@mbvreddy thanks for all the feedback, we have used them to apply them to arrive at our fix |
Closing as now listed in summary issue #346 |
This bug still exists in the currently available for download OpenJDK8_x64_Mac_jdk8u172-b11.tar.gz: Part of stacktrace when attempting to load libfontmanager.dylib:
Show Java version:
Show linker config for libfontmanager.dylib, linking to @rpath/libfreetype.6.dylib:
Show included libfreetype filename to be erroneously named as libfreetype.dylib.6
|
@rubin55 Yes, those binaries were produced under the old build scripts. Are you able to try a nightly build: |
Hi @karianna , mmm still seems to be an issue there:
|
OK thank you. |
Hi @karianna, as of Nov 30, this is a still a problem with the nightly build for Mac OS:
|
Coretto had the same issue as us: corretto/corretto-8#6 |
Could someone provide a summary of what's going on with this bug, especially for JDK 8 please? |
@eed3si9n @ksilz @rubin55 @smlambert Can you try the JDK/JRE at: https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk8u/job/jdk8u-mac-x64-hotspot/148/ |
@karianna I see
Does that make sense? |
@johnoliver Is there a reasonable explanation for that? I'd have thought a copy should mean == bytes. |
Latest nightly build
|
I believe the difference in size was introduced during signing |
There are MANY test failures due to missing the library libfreetype.6.dylib, as described here:
adoptium/aqa-tests#136 (comment)
Build scripts (like https://github.com/AdoptOpenJDK/openjdk-build/blob/master/makejdk.sh, makejdk-any-platform.sh, sbin/common-functions.sh) will need to be updated to refer to the actual location of this file.
The scripts are referring to the location "/Users/jenkins/workspace/openjdk_build_x86-64_macos/openjdk/installedfreetype/lib" for libfreetype.6.dylib. They should refer to jre/lib for libfreetype.6.dylib.
The text was updated successfully, but these errors were encountered: