[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint



Matthias Klose, le sam. 06 avril 2019 03:04:54 +0200, a ecrit:
> On 01.04.19 17:24, Samuel Thibault wrote:
> > Samuel Thibault, le lun. 01 avril 2019 15:54:17 +0200, a ecrit:
> >> Vincent Privat, le ven. 24 août 2018 18:33:56 +0200, a ecrit:
> >>> Patching openjdk with your try/catch proposal and making the ATK wrapper a
> >>> Recommends sounds a good idea.
> >>>
> >>> Don't wait for openjdk guys for an answer: they simply don't care anymore with
> >>> desktop technologies.
> >>
> >> FI, I plan to upload the attached NMU, which does it:
> > 
> > But currently the 11.0.3+4-3 version is blocked in unstable, and notably
> > due to a regression on libreoffice, so I'm not sure what to do for now.
> 
> please don't NMU. In the past the atk patches broke the non-atk use case way too
> often.  Maybe you want to upload to a PPA or to experimental to give this a
> little bit more testing.

Can we then at least upload all changes except enabling atk, i.e.
the attached patch which just fixes loading atk without enabling it
by default?  So that there is even no need for any external PPA or
experimental (which would be quite involved for people to configure),
instead people can just enable from the configuration file, as expected
and documented.

Samuel
diff -Nru openjdk-11-11.0.3+4/debian/changelog openjdk-11-11.0.3+4/debian/changelog
--- openjdk-11-11.0.3+4/debian/changelog	2019-03-29 09:06:03.000000000 +0100
+++ openjdk-11-11.0.3+4/debian/changelog	2019-03-31 17:49:09.000000000 +0200
@@ -1,3 +1,12 @@
+openjdk-11 (11.0.3+4-3.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * patches/jaw-classpath.diff: Fix finding the Java ATK wrapper.
+  * patches/jaw-optional.diff: Make failing to load the Java ATK wrapper
+    non-fatal. Closes: #900912.
+
+ -- Samuel Thibault <sthibault@debian.org>  Sun, 31 Mar 2019 17:49:09 +0200
+
 openjdk-11 (11.0.3+4-3) unstable; urgency=medium
 
   [ Matthias Klose ]
diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff
--- openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff	1970-01-01 01:00:00.000000000 +0100
+++ openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff	2019-03-31 17:49:09.000000000 +0200
@@ -0,0 +1,14 @@
+Fix finding the Java ATK wrapper, see #900912
+
+Index: openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp
+===================================================================
+--- openjdk-10-10.0.1+10.orig/src/hotspot/os/linux/os_linux.cpp
++++ openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp
+@@ -369,6 +369,7 @@ void os::init_system_properties_values()
+     }
+     Arguments::set_java_home(buf);
+     set_boot_path('/', ':');
++    Arguments::append_sysclasspath("/usr/share/java/java-atk-wrapper.jar");
+   }
+ 
+   // Where to look for native libraries.
diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff
--- openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff	1970-01-01 01:00:00.000000000 +0100
+++ openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff	2019-03-31 17:49:09.000000000 +0200
@@ -0,0 +1,20 @@
+Make failing to load the Java ATK wrapper non-fatal
+
+---
+ src/java.desktop/share/classes/java/awt/Toolkit.java |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/src/java.desktop/share/classes/java/awt/Toolkit.java
++++ b/src/java.desktop/share/classes/java/awt/Toolkit.java
+@@ -610,7 +610,11 @@ public abstract class Toolkit {
+                 }
+             });
+             if (!GraphicsEnvironment.isHeadless()) {
++              try {
+                 loadAssistiveTechnologies();
++              } catch (java.awt.AWTError e) {
++                // too bad
++              }
+             }
+         }
+         return toolkit;
diff -Nru openjdk-11-11.0.3+4/debian/patches/series openjdk-11-11.0.3+4/debian/patches/series
--- openjdk-11-11.0.3+4/debian/patches/series	2019-03-28 09:32:28.000000000 +0100
+++ openjdk-11-11.0.3+4/debian/patches/series	2019-03-31 17:49:09.000000000 +0200
@@ -38,3 +38,5 @@
 jdk-improve-gtk3-compatibility.patch
 keep-gtk2-as-default.patch
 8221083.diff
+jaw-classpath.diff
+jaw-optional.diff
diff -Nru openjdk-11-11.0.3+4/debian/rules openjdk-11-11.0.3+4/debian/rules
--- openjdk-11-11.0.3+4/debian/rules	2019-03-28 20:44:54.000000000 +0100
+++ openjdk-11-11.0.3+4/debian/rules	2019-03-31 17:49:09.000000000 +0200
@@ -1427,23 +1427,26 @@
   endif
 endif
 
-ifeq (0,1)
-# FIXME: ext not longer supported
 ifeq ($(with_bridge),atk)
 	: # create links for the atk wrapper
+  ifeq (0,1)
+  # FIXME: ext no longer supported
 	echo "usr/share/java/java-atk-wrapper.jar $(basedir)/lib/ext/java-atk-wrapper.jar" \
 	    >> $(d_jre).links
-	echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/ext/libatk-wrapper.so" \
+  endif
+	echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/libatk-wrapper.so" \
 	    >> $(d_jre).links
 else ifeq ($(with_bridge),yes)
+ ifeq (0,1)
+# FIXME: ext no longer supported
 	: # create links for the gnome accessibility bridge
 	echo "usr/share/java/gnome-java-bridge.jar $(basedir)/lib/ext/gnome-java-bridge.jar" \
 	    >> $(d_jre).links
   ifeq ($(with_jni_bridge),yes)
-	  echo "usr/lib$(multiarch_dir)/jni/libjava-access-bridge-jni.so $(basedir)/lib/ext/libjava-access-bridge-jni.so" \
+	  echo "usr/lib$(multiarch_dir)/jni/libjava-access-bridge-jni.so $(basedir)/lib/libjava-access-bridge-jni.so" \
 	    >> $(d_jre).links
   endif
-endif
+ endif
 endif
 
 	: # create links for the config/lib files

Reply to: