Temurin-build: LinkError в приложениях с графическим интерфейсом на MacOS

Созданный на 10 сент. 2018  ·  26Комментарии  ·  Источник: adoptium/temurin-build

_From @helenmasters 5 сентября 2017 г., 13: 7_

Мы видим проблему в OSX, когда пытаемся запустить какие-либо приложения с графическим интерфейсом. Похоже, что / Users / jenkins / workspace жестко запрограммирован, поэтому не может быть разрешен на машине пользователя.

Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/helenmasters/sdks/check/jdk8u144-b01/jre/lib/libfontmanager.dylib: dlopen(/Users/helenmasters/sdks/check/jdk8u144-b01/jre/lib/libfontmanager.dylib, 1): Library not loaded: /Users/jenkins/workspace/openjdk_build_x86-64_macos/openjdk/installedfreetype/lib/libfreetype.6.dylib
  Referenced from: /Users/helenmasters/sdks/check/jdk8u144-b01/jre/lib/libfontmanager.dylib
  Reason: image not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:93)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:80)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.lwawt.macosx.LWCToolkit.<clinit>(LWCToolkit.java:79)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at java.awt.Toolkit$2.run(Toolkit.java:860)
    at java.awt.Toolkit$2.run(Toolkit.java:855)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
    at javax.swing.UIManager.getSystemLookAndFeelClassName(UIManager.java:611)
    at javax.swing.UIManager$1.run(UIManager.java:1233)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.swing.UIManager.loadSwingProperties(UIManager.java:1228)
    at javax.swing.UIManager.initialize(UIManager.java:1457)
    at javax.swing.UIManager.maybeInitialize(UIManager.java:1426)
    at javax.swing.UIManager.getUI(UIManager.java:1006)
    at javax.swing.JPanel.updateUI(JPanel.java:126)
    at javax.swing.JPanel.<init>(JPanel.java:86)
    at javax.swing.JPanel.<init>(JPanel.java:109)
    at javax.swing.JPanel.<init>(JPanel.java:117)
    at citmsxa.<init>(citmsxa.java:11)
    at citmsxa.main(citmsxa.java:376)

Вот вывод команды otool, предполагающий, что путь неверен ...

helens-mbp:check helenmasters$ otool -L /Users/helenmasters/sdks/check/jdk8u144-b01/jre/lib/libfontmanager.dylib
/Users/helenmasters/sdks/check/jdk8u144-b01/jre/lib/libfontmanager.dylib:
    @rpath/libfontmanager.dylib (compatibility version 1.0.0, current version 1.0.0)
    /Users/jenkins/workspace/openjdk_build_x86-64_macos/openjdk/installedfreetype/lib/libfreetype.6.dylib (compatibility version 12.0.0, current version 12.0.0)
    @rpath/libawt.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
    @rpath/libjava.dylib (compatibility version 1.0.0, current version 1.0.0)
    @rpath/libjvm.dylib (compatibility version 1.0.0, current version 1.0.0)

_Копировано из исходного выпуска: AdoptOpenJDK / openjdk-jdk8u-backup # 4_

Самый полезный комментарий

Обнаружение возможно связанной ошибки в MacOS 10.13.6 с использованием AdoptOpenJDK jdk8u172-b11
Настройка символической ссылки - это способ решения проблемы:
ln -s libfreetype.dylib.6 libfreetype.6.dylib

Трассировки стека
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/jdk8u172-b11/jre/lib/libfontmanager.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk8u172-b11/jre/lib/libfontmanager.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib Referenced from: /Library/Java/JavaVirtualMachines/jdk8u172-b11/jre/lib/libfontmanager.dylib Reason: image not found at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:93)

Все 26 Комментарий

_From @Diagoras 6 сентября 2018 г., 16:53_

FWIW, у меня такая же проблема. В настоящее время он не позволяет нам перенести приложение на AdoptOpenJDK.

@johnoliver LMK, если вы хотите, чтобы это было перемещено в

_From @johnoliver 7 сентября 2018 г., 12:15_

Я думаю, что это было исправлено, можете ли вы попробовать недавний двоичный файл с https://github.com/AdoptOpenJDK/openjdk8-binaries/releases

_From @Diagoras 10 сентября 2018 г., 19:36

@johnoliver Привет, я пробовал с выпуском Hotspot jdk8u-2018-07-26-16-12 для MacOS, но столкнулся с той же проблемой. Конкретно:

Fatal(java.lang.UnsatisfiedLinkError: /Users/[username]/Downloads/jdk8u181-b13/jre/lib/libfontmanager.dylib: dlopen(/Users/[username]/Downloads/jdk8u181-b13/jre/lib/libfontmanager.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib
  Referenced from: /Users/[username]/Downloads/jdk8u181-b13/jre/lib/libfontmanager.dylib
  Reason: image not found
)

Можем ли мы снова открыть эту проблему?

Открыто повторно, но я перенесу его в репозиторий сборки

Обнаружение возможно связанной ошибки в MacOS 10.13.6 с использованием AdoptOpenJDK jdk8u172-b11
Настройка символической ссылки - это способ решения проблемы:
ln -s libfreetype.dylib.6 libfreetype.6.dylib

Трассировки стека
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/jdk8u172-b11/jre/lib/libfontmanager.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk8u172-b11/jre/lib/libfontmanager.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib Referenced from: /Library/Java/JavaVirtualMachines/jdk8u172-b11/jre/lib/libfontmanager.dylib Reason: image not found at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:93)

Проблема все еще существует со сборкой jdk8u181-b13:

java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/jdk8u181-b13/Contents/Home/jre/lib/libfontmanager.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk8u181-b13/Contents/Home/jre/lib/libfontmanager.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib
  Referenced from: /Library/Java/JavaVirtualMachines/jdk8u181-b13/Contents/Home/jre/lib/libfontmanager.dylib
  Reason: image not found

Фактическое имя библиотеки не соответствует rpath:

$ ls /Library/Java/JavaVirtualMachines/jdk8u181-b13/Contents/Home/jre/lib/libfreetype*
/Library/Java/JavaVirtualMachines/jdk8u181-b13/Contents/Home/jre/lib/libfreetype.dylib.6

Просто столкнулся с этой проблемой, потому что у нас есть зависимость от Apache POI, поэтому мы не можем перейти на открытый jdk 8 ...

Можно ли попробовать короткое / простое воспроизводимое?

Вот базовый пример того, что вызывает исключение:

poi-example.zip

Пример работает на Oracle jdk8.

Трассировка стека при запуске теста:

runningPoiResultsInLinkError (com.example.poi.link.PoiLinkTest) Истекшее время: 0,958 сек <<< ERROR!
java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/lib/libfontmanager.dylib: dlopen (/Library/Java/JavaVirtualMachines/adoptonts.jdk/ jre / lib / libfontmanager.dylib, 1): библиотека не загружена: @ rpath / libfreetype.6.dylib
Ссылка на: /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/lib/libfontmanager.dylib
Причина: изображение не найдено
в java.lang.ClassLoader $ NativeLibrary.load (собственный метод)
в java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1941)
в java.lang.ClassLoader.loadLibrary (ClassLoader.java:1845)
в java.lang.Runtime.loadLibrary0 (Runtime.java:870)
в java.lang.System.loadLibrary (System.java:1122)
в sun.font.FontManagerNativeLibrary $ 1.run (FontManagerNativeLibrary.java:61)
в java.security.AccessController.doPrivileged (собственный метод)
в sun.font.FontManagerNativeLibrary.(FontManagerNativeLibrary.java:32)
в sun.font.SunFontManager $ 1. запустить (SunFontManager.java:339)
в java.security.AccessController.doPrivileged (собственный метод)
в sun.font.SunFontManager.(SunFontManager.java:335)
в java.lang.Class.forName0 (собственный метод)
в java.lang.Class.forName (Class.java:348)
в sun.font.FontManagerFactory $ 1.run (FontManagerFactory.java:82)
в java.security.AccessController.doPrivileged (собственный метод)
в sun.font.FontManagerFactory.getInstance (FontManagerFactory.java:74)
в java.awt.Font.getFont2D (Font.java:491)
в java.awt.Font.canDisplayUpTo (Font.java:2060)
в java.awt.font.TextLayout.singleFont (TextLayout.java:470)
в java.awt.font.TextLayout.(TextLayout.java:531)
в org.apache.poi.ss.util.SheetUtil.getColumnWidth (SheetUtil.java:208)
в org.apache.poi.xssf.streaming.SXSSFSheet.autoSizeColumn (SXSSFSheet.java:1166)
в org.apache.poi.xssf.streaming.SXSSFSheet.autoSizeColumn (SXSSFSheet.java:1148)
в com.example.poi.link.PoiLinkTest.runningPoiResultsInLinkError (PoiLinkTest.java:14)

То же самое, Swing не работает с u192-b12 (примечание: я столкнулся с этим при переходе с OracleJDK):

Exception in thread "main" java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/jdk8u192-b12/Contents/Home/jre/lib/libfontmanager.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk8u192-b12/Contents/Home/jre/lib/libfontmanager.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib
  Referenced from: /Library/Java/JavaVirtualMachines/jdk8u192-b12/Contents/Home/jre/lib/libfontmanager.dylib
  Reason: image not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:93)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:80)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.lwawt.macosx.LWCToolkit.<clinit>(LWCToolkit.java:79)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at java.awt.Toolkit$2.run(Toolkit.java:860)
    at java.awt.Toolkit$2.run(Toolkit.java:855)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
    at java.awt.Window.getToolkit(Window.java:1358)
    at java.awt.Window.init(Window.java:506)
    at java.awt.Window.<init>(Window.java:436)
    at java.awt.Frame.<init>(Frame.java:446)
    at java.awt.Frame.<init>(Frame.java:404)
    at javax.swing.JFrame.<init>(JFrame.java:213)

У меня такая же проблема. Даже с таким простым кодом (работающим с Netbeans):

public class JavaApplication4 {
    /**
     * <strong i="6">@param</strong> args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println(" Hello !");

        JFrame frame = new JFrame("Testando");
        frame.setVisible(true);
        frame.setSize(300, 300);
    }
}
run:
 Hello !
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/jdk8u192-b12/Contents/Home/jre/lib/libfontmanager.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk8u192-b12/Contents/Home/jre/lib/libfontmanager.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib
  Referenced from: /Library/Java/JavaVirtualMachines/jdk8u192-b12/Contents/Home/jre/lib/libfontmanager.dylib
  Reason: image not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:93)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:80)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.lwawt.macosx.LWCToolkit.<clinit>(LWCToolkit.java:79)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at java.awt.Toolkit$2.run(Toolkit.java:860)
    at java.awt.Toolkit$2.run(Toolkit.java:855)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
    at java.awt.Window.getToolkit(Window.java:1358)
    at java.awt.Window.init(Window.java:506)
    at java.awt.Window.<init>(Window.java:537)
    at java.awt.Frame.<init>(Frame.java:420)
    at javax.swing.JFrame.<init>(JFrame.java:233)
    at javaapplication4.JavaApplication4.main(JavaApplication4.java:23)
/Users/gabriela/Library/Caches/NetBeans/8.2/executor-snippets/run.xml:53: Java returned: 1
BUILD FAILED (total time: 3 seconds)

Из-за этого я не могу перейти на AdoptOpenJDK.

Обходной путь - создать символическую ссылку: libfreetype.6.dylib -> libfreetype.dylib.6

@slandelle Является ли

Похоже, это тонкая разница между версиями Mac OS X. Надеюсь, что на следующей неделе это будет решено для будущих сборок!

Обходной путь - создать символическую ссылку: libfreetype.6.dylib -> libfreetype.dylib.6

Здесь работает. Надеюсь, это поможет исправить проблему в ближайшее время.
Спасибо!

1 компакт-диск по пути jdk lib "/ Contents / Home / jre / lib"

2 затем "sudo ln -s libfreetype.dylib.6 libfreetype.6.dylib"

У меня это сработало.

Попытка запустить Groovy groovysh - который не является инструментом с графическим интерфейсом - на AdoptOpenJDK 8 также вызывает следующее:

$ groovysh
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:110)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)
Caused by: java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/openjdk8/Contents/Home/jre/lib/libfontmanager.dylib: dlopen(/Library/Java/JavaVirtualMachines/openjdk8/Contents/Home/jre/lib/libfontmanager.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib
  Referenced from: /Library/Java/JavaVirtualMachines/openjdk8/Contents/Home/jre/lib/libfontmanager.dylib
  Reason: image not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:93)
    at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:80)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.lwawt.macosx.LWCToolkit.<clinit>(LWCToolkit.java:79)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at java.awt.Toolkit$2.run(Toolkit.java:860)
    at java.awt.Toolkit$2.run(Toolkit.java:855)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
    at java.awt.Desktop.isDesktopSupported(Desktop.java:169)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
    at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1859)
    at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3797)
    at org.codehaus.groovy.runtime.callsite.ClassMetaClassGetPropertySite.getProperty(ClassMetaClassGetPropertySite.java:50)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:298)
    at org.codehaus.groovy.tools.shell.commands.DocCommand.<clinit>(DocCommand.groovy:53)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:249)
    at org.codehaus.groovy.tools.shell.util.DefaultCommandsRegistrar.register(DefaultCommandsRegistrar.groovy:84)
    at org.codehaus.groovy.tools.shell.util.DefaultCommandsRegistrar$register.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119)
    at org.codehaus.groovy.tools.shell.Groovysh$_createDefaultRegistrar_closure3.doCall(Groovysh.groovy:121)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
    at org.codehaus.groovy.tools.shell.Groovysh.<init>(Groovysh.groovy:109)
    at org.codehaus.groovy.tools.shell.Groovysh.<init>(Groovysh.groovy:140)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:257)
    at org.codehaus.groovy.tools.shell.Main.<init>(Main.groovy:65)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:257)
    at org.codehaus.groovy.tools.shell.Main.main(Main.groovy:158)
    ... 6 more

Помогает создание символической ссылки, предложенной @Cynthiahaha .

Эта проблема groovysh отсутствует при использовании сборки AdoptOpenJDK 11 (HotSpot или OpenJ9).

Является ли основная причина просто в том, что в имени файла «6» и «dylib» расположены в неправильном порядке? Потому что это будет довольно забавно и, надеюсь, легко исправить.

Кажется, это небольшая разница между версиями Mac OS X

В UNIX-подобных операционных системах, отличных от macOS, суффикс разделяемой библиотеки - «so», и он встречается перед любым номером версии (например, «libfreetype.so.6»). В macOS суффиксом динамической библиотеки является «dylib», и он появляется после необязательного основного номера версии (например, «libfreetype.6.dylib»). Все версии macOS следуют этому соглашению. Вероятно, есть где-то в системе сборки, где предположение о том, что номер версии должен появиться после суффикса, неправильно применяется при сборке на macOS.

1 компакт-диск по пути jdk lib "/ Contents / Home / jre / lib"

2 затем "sudo ln -s libfreetype.dylib.6 libfreetype.6.dylib"

У меня это сработало.

Спасибо за обходной путь. Это также коснулось создания PDF-файлов (через серверную службу), а не только в приложении с графическим интерфейсом.

@helenmasters @justinnichols @ryandesign @breun @Cynthiahaha @gabibau и все, пожалуйста, попробуйте

Можете ли вы попробовать JDK / JRE по адресу: https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk8u/job/jdk8u-mac-x64-hotspot/148/

@karianna Кажется, они groovysh .

Я заметил, что в этих сборках есть libfreetype.6.dylib и libfreetype.dylib.6 и они не идентичны:

$ ls -l libfreetype.*
-rwxr-xr-x@ 1 breun  staff  873072 15 jan 18:38 libfreetype.6.dylib
-rwxr-xr-x@ 1 breun  staff  873088 15 jan 18:38 libfreetype.dylib.6

Это необходимо / намеренно?

@karianna Кажется, они groovysh .

Я заметил, что в этих сборках есть libfreetype.6.dylib и libfreetype.dylib.6 и они не идентичны:

$ ls -l libfreetype.*
-rwxr-xr-x@ 1 breun  staff  873072 15 jan 18:38 libfreetype.6.dylib
-rwxr-xr-x@ 1 breun  staff  873088 15 jan 18:38 libfreetype.dylib.6

Это необходимо / намеренно?

@johnoliver Тот же вопрос, что и в другом выпуске.

думаю, что это сделано

можно ли закрыть @johnoliver

Я так думаю, можно открыть повторно, если у кого-то возникнет проблема

Была ли эта страница полезной?
0 / 5 - 0 рейтинги