Temurin-build: Собственные библиотеки не могут быть загружены с 11.0.4 в Mojave

Созданный на 9 авг. 2019  ·  19Комментарии  ·  Источник: adoptium/temurin-build

Платформа:

OSX Mojave

Версия ядра Дарвина 18.7.0: четверг, 20 июня, 18:42:21 PDT 2019; корень: xnu-4903.270.47 ~ 4 / RELEASE_X86_64

Архитектура:

x86_64

Описание проблемы

При попытке загрузить собственные библиотеки на указанную выше платформу с любой из сборок 11.0.4 я получаю исключение:

/private/var/folders/f6/c8gfypz56c5d9b66l6_1n30m0000gn/T/native-platform4313193693498570932dir/libnative-platform.dylib: code signature in (/private/var/folders/f6/c8gfypz56c5d9b66l6_1n30m0000gn/T/native-platform4313193693498570932dir/libnative-platform.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.

При запуске с 11.0.3 все работает как положено.

Воспроизводимый тест

Здесь есть приложение java: https://bintray.com/beta/#/adammurdoch/maven/net.rubygrapefruit : native-platform-test / 0.18? Tab = files, которое проверяет различные собственные вызовы.

Если вы загрузите zip-архив и распакуйте его, я получу следующие результаты:

11.0.3 ( Хорошо )

$ bin/native-platform-test

Select test to run:
  1) Show terminal details
  2) Show machine details
  3) Show file systems
  4) Test input handling
  5) Example prompts
> 6) Exit
Use the arrow keys to select an option and press enter

11.0.4 ( Плохо )

$ bin/native-platform-test
Exception in thread "main" net.rubygrapefruit.platform.NativeIntegrationLinkageException: Native library 'libnative-platform.dylib' could not be loaded for Mac OS X x86_64.
    at net.rubygrapefruit.platform.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:61)
    at net.rubygrapefruit.platform.Native.init(Native.java:55)
    at net.rubygrapefruit.platform.Native.get(Native.java:80)
    at net.rubygrapefruit.platform.test.Main.terminals(Main.java:286)
    at net.rubygrapefruit.platform.test.Main.main(Main.java:109)
Caused by: java.lang.UnsatisfiedLinkError: /private/var/folders/f6/c8gfypz56c5d9b66l6_1n30m0000gn/T/native-platform4313193693498570932dir/libnative-platform.dylib: dlopen(/private/var/folders/f6/c8gfypz56c5d9b66l6_1n30m0000gn/T/native-platform4313193693498570932dir/libnative-platform.dylib, 1): no suitable image found.  Did find:
    /private/var/folders/f6/c8gfypz56c5d9b66l6_1n30m0000gn/T/native-platform4313193693498570932dir/libnative-platform.dylib: code signature in (/private/var/folders/f6/c8gfypz56c5d9b66l6_1n30m0000gn/T/native-platform4313193693498570932dir/libnative-platform.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
    at java.base/java.lang.Runtime.load0(Runtime.java:767)
    at java.base/java.lang.System.load(System.java:1831)
    at net.rubygrapefruit.platform.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:51)
    ... 4 more

Я подозреваю, что это только OS X, но я тестирую его на Ubuntu, чтобы убедиться, что

bug macos

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

@taubeklavs у нас есть исправление для этого, и мы создаем релиз jdk-11.0.4+11.3 . Приносим извинения за неудобства

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

Протестировано на Ubuntu, обе версии работают как положено ...

Кажется, это просто проблема OS X

Я также испытываю ту же проблему на macos с jdk-11.0.4+11.2 , возврат к jdk-11.0.3+7 работает.

@gdams, вероятно, связан с другими проблемами, над которыми вы работаете ...

@taubeklavs у нас есть исправление для этого, и мы создаем релиз jdk-11.0.4+11.3 . Приносим извинения за неудобства

Огромное спасибо! 😎👍

Не уверен, как я пропустил https://github.com/AdoptOpenJDK/openjdk-build/issues/1206 Извините за это 😞

Не похоже, что эта сборка еще выпущена, и проблема заключалась в блокировке того, над чем я работаю - для всех, кто находится в той же лодке, вы должны иметь возможность:

brew cask reinstall https://raw.githubusercontent.com/AdoptOpenJDK/homebrew-openjdk/c017a832eec4f940e11c139b6e7852eeb3b2aad8/Casks/adoptopenjdk11.rb

чтобы содержимое бочки adoptopenjdk11 читалось так:

$ brew cask info adoptopenjdk11
adoptopenjdk11: 11,0.3:7
https://adoptopenjdk.net/
/usr/local/Caskroom/adoptopenjdk11/11,0.3:7 (181.4MB)
From: https://github.com/adoptopenjdk/homebrew-openjdk/blob/master/Casks/adoptopenjdk11.rb
==> Name
AdoptOpenJDK 11
==> Artifacts
OpenJDK11U-jdk_x64_mac_hotspot_11.0.3_7.pkg (Pkg)

Как только новая сборка будет опубликована, ее должен забрать простой brew cask upgrade . :)

Сохранение ошибочного поведения происходит с

openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.2+10)

Я только что загрузил jdk-12.0.2+10.2 и запустил native-platform-test . Я получил "Плохой" след, сообщенный OP.

Есть надежда получить исправленную сборку?

Привет, могу подтвердить это также на версии 12.

Только что проверил последнюю 11.0.5

openjdk версия "11.0.5" 2019-10-15

И все это работает на OS X 😎 🎉

Закрытие этого

Спасибо всем!

У меня такая проблема с 14.0.1 и 11.0.7 на Каталине

@MRigal Как вы установили двоичный файл - был ли это файл PKG через homebrew?

Обе версии устанавливались через homebrew. Я также добавил рекомендуемые символические ссылки
после установки.
brew install java и brew install java11

У меня все еще проблема с accepttopenjdk12 и osx catalina

ОС: Mac OSX Catalina 10.15.4
jdk: устанавливается через

▶ brew tap adoptopenjdk/openjdk
▶ brew cask install adoptopenjdk --no-quarantine

brew установил jdk под /Library/Java/JavaVirtualMachines/

▶ java --version
openjdk 12.0.2 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.2+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12.0.2+10, mixed mode)

sbt установлен через:

▶ brew install sbt
▶ sbt sbtVersion
[info]  1.3.10



md5-81688d6fdae4a4fb6cbfecc5b8fbee61



▶ sudo spctl --master-disable
▶ spctl --status
assessments disabled

# starting sbt will produce the same output (code signature in [...] not valid for use in process using Library Validation: mapped file has no cdhash)

▶ sudo spctl --master-enable
▶ spctl --status
assessments enabled



md5-046c5f6222d4ced024068ca879544f9b



▶ codesign -dv --verbose=4 ~/Library/Caches/JNA/temp/jna123.tmp
~/Library/Caches/JNA/temp/jna123.tmp: code object is not signed at all



md5-99fc43abd604e2213e80c0369e20444a



    <key>CFBundleSignature</key>
    <string>????</string>

По-видимому, это значение по умолчанию при инициализации новых проектов xcode и не было изменено ?!

@ peter-gerhard В OpenJDK 12 нет усиленной среды выполнения и поддержки нотариального заверения, и ее не будет, потому что она достигла своего EOL.

Более того, я закрываю этот вопрос, потому что PKG 11.0.7 полностью нотариально заверен.

@aahlenst Я обнаружил, что /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Info.plist не имеет подписи пакета.

<key>CFBundleShortVersionString</key> <string>1.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>11.0.7</string>

Какая версия в настоящее время подписана кодом, поскольку я уже пробовал версии 11 и 12

8u252.1, 11.0.7 и 14 нотариально удостоверены. Однако вам понадобится PKG.

@aahlenst К вашему сведению: это не было исправлено ни в 11.0.7, ни в 11.0.8, но действительно исправлено в 11.0.9

Если кто-то попал в эту ветку из-за попытки скомпилировать проект KMM, я смог исправить это, обновив версию gradle до 7.0.0-alpha09.

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

Смежные вопросы

joeyleeeeeee97 picture joeyleeeeeee97  ·  5Комментарии

karianna picture karianna  ·  7Комментарии

joeyleeeeeee97 picture joeyleeeeeee97  ·  7Комментарии

a-roberts picture a-roberts  ·  6Комментарии

ChristianCiach picture ChristianCiach  ·  7Комментарии