$ arduino java.lang.NoClassDefFoundError: org/bouncycastle/asn1/cryptlib/CryptlibObjectIdentifiers at org.bouncycastle.openpgp.PGPUtil$2.<init>(PGPUtil.java:71) at org.bouncycastle.openpgp.PGPUtil.<clinit>(PGPUtil.java:68) at cc.arduino.contributions.GPGDetachedSignatureVerifier.readPublicKey(GPGDetachedSignatureVerifier.java:99) at cc.arduino.contributions.GPGDetachedSignatureVerifier.readPublicKey(GPGDetachedSignatureVerifier.java:92) at cc.arduino.contributions.GPGDetachedSignatureVerifier.verify(GPGDetachedSignatureVerifier.java:73) at cc.arduino.contributions.SignatureVerifier.isSigned(SignatureVerifier.java:46) at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:92) at processing.app.BaseNoGui.initPackages(BaseNoGui.java:483) at processing.app.Base.<init>(Base.java:258) at processing.app.Base.main(Base.java:141) Caused by: java.lang.ClassNotFoundException: org.bouncycastle.asn1.cryptlib.CryptlibObjectIdentifiers at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 10 more $ rpm -q arduino arduino-1.8.19-alt1_1jpp11.noarch
Подтверждаю, воспроизводится в p11 и в Sisyphus (тестовые ВМ x86_64, Xfce). - p11: arduino-1.8.19-alt1_1jpp11, bouncycastle-1.80-alt1, bouncycastle-pg-1.80-alt1, java-25-openjdk - Sisyphus: arduino-1.8.19-alt3, bouncycastle-1.84-alt1, bouncycastle-pg-1.84-alt1, bouncycastle-util-1.84-alt1, java-25-openjdk Условие: падение происходит, только если в ~/.arduino15 уже есть package_index.json и package_index.json.sig (их скачивает «Менеджер плат»). С чистым профилем проверка подписи индекса не выполняется и IDE в p11 открывается. Причина: PGPUtil из bcpg ссылается на org.bouncycastle.asn1.cryptlib.CryptlibObjectIdentifiers. В bouncycastle 1.80/1.84 этот класс есть только в bcutil.jar (пакет bouncycastle-util); в bcprov.jar лежит org/bouncycastle/internal/asn1/cryptlib/CryptlibObjectIdentifiers, это другой класс. В /usr/bin/arduino set_classpath перечислены bcpg и bcprov, а bcutil нет. Проверка исправления (p11): apt-get install bouncycastle-util + добавить bcutil в set_classpath в /usr/bin/arduino после bcprov → с теми же package_index.json/.sig IDE запускается, проверка подписи отрабатывает (выдаёт штатное сообщение о подписи индекса), окно редактора открывается. Предлагается: в обёртке arduino добавить bcutil в classpath и Requires на bouncycastle-util (в p11 и Sisyphus). В Sisyphus до этого места запуск сейчас не доходит без индекса из-за bug 60589 (commons-exec, затем NPE «font is null»); с обходом commons-exec из 60589 и индексом в профиле — то же NoClassDefFoundError, что в описании.