Latest eclipse crashing in openSUSE Tumbleweed

Hi Team,

I just installed openSUSE Tumbleweed and then downloaded eclipse latest version (eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz). When I launch ‘eclipse’ application from this extracted folder, its failing to launch. It created a log file as shown below

!SESSION 2024-06-01 09:19:31.542 -----------------------------------------------
eclipse.buildId=4.31.0.20240307-1200
java.version=17.0.10
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.emf.ecore 2 0 2024-06-01 09:19:34.135
!MESSAGE Both ‘org.eclipse.jst.j2ee.core’ and ‘org.eclipse.jst.j2ee.core’ register a package for ‘application.xmi’

!ENTRY ch.qos.logback.classic 1 0 2024-06-01 09:19:34.246
!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized.

!ENTRY org.eclipse.osgi 4 0 2024-06-01 09:19:35.838
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-pi4-gtk-4964r8 in java.library.path: /usr/lib64/firefox:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
no swt-pi4-gtk in java.library.path: /usr/lib64/firefox:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
no swt-pi4 in java.library.path: /usr/lib64/firefox:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
Can’t load library: /home/manohar/.swt/lib/linux/x86_64/libswt-pi4-gtk-4964r8.so
Can’t load library: /home/manohar/.swt/lib/linux/x86_64/libswt-pi4-gtk.so
Can’t load library: /home/manohar/.swt/lib/linux/x86_64/libswt-pi4.so

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:345)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:254)
at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:97)

I googled it for very long time and tried to install GTK4 and other options given but nothing fixed it. Could you please me to fix this error and so that I would launch eclipse

Regards,
Manohar

2 Likes

Downloaded eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz, extracted and started successfully:

karl@erlangen:~/Downloads/eclipse> ./eclipse 
Juni 01, 2024 9:27:12 AM org.apache.aries.spifly.BaseActivator log
INFORMATION: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Juni 01, 2024 9:27:12 AM org.apache.aries.spifly.BaseActivator log
INFORMATION: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
09:27:13.555 [Start Level: Equinox Container: 06f1da96-7950-4da7-bc04-16a754505b09] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$176/0x0000000100261270@43f1fbe9 with shutdown hook
09:27:13.555 [Start Level: Equinox Container: 06f1da96-7950-4da7-bc04-16a754505b09] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$176/0x0000000100261270@43f1fbe9 with shutdown hook
09:27:30.436 [main] DEBUG org.eclipse.m2e.core.internal.project.registry.ProjectRegistryRefreshJob -- Queued refresh request: []
09:27:30.436 [main] DEBUG org.eclipse.m2e.core.internal.project.registry.ProjectRegistryRefreshJob -- Queued refresh request: []
karl@erlangen:~/Downloads/eclipse> 

You may want to check your setup:

erlangen:~ # zypper se -is container
Loading repository data...
Reading installed packages...

S  | Name              | Type    | Version   | Arch   | Repository
---+-------------------+---------+-----------+--------+-----------------------
i+ | systemd-container | package | 255.6-2.1 | x86_64 | Haupt-Repository (OSS)
erlangen:~ # 

Hi Karl,

Many thanks for your quick response. I could not find any container as shown below

manohar@localhost:~> sudo zypper se -is container
[sudo] password for root:
Loading repository data…
Reading installed packages…
No matching items found.
manohar@localhost:~>

Also I tried to launch eclipse with the command and it failed to launch with the below prints

manohar@localhost:/opt/eclipse> ./eclipse
Jun 01, 2024 1:24:59 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Jun 01, 2024 1:24:59 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
13:25:00.767 [Start Level: Equinox Container: 6e1e1ee1-15af-498c-a4e8-020146030d18] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x0000000100263270@80dbd88 with shutdown hook
13:25:00.767 [Start Level: Equinox Container: 6e1e1ee1-15af-498c-a4e8-020146030d18] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x0000000100263270@80dbd88 with shutdown hook
SWT OS.java Error: Failed to load swt-pi3, loading swt-pi4 as fallback.
13:25:01.386 [ForkJoinPool-1-worker-1] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x0000000100263270@80dbd88 during JVM shutdown
13:25:01.386 [ForkJoinPool-1-worker-1] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x0000000100263270@80dbd88 during JVM shutdown
manohar@localhost:/opt/eclipse>

And further another log file was produced under eclipse/configuration folder with the below data

!SESSION 2024-06-01 13:24:58.639 -----------------------------------------------
eclipse.buildId=4.31.0.20240307-1200
java.version=17.0.10
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.emf.ecore 2 0 2024-06-01 13:25:00.577
!MESSAGE Both ‘org.eclipse.jst.j2ee.core’ and ‘org.eclipse.jst.j2ee.core’ register a package for ‘application.xmi’

!ENTRY ch.qos.logback.classic 1 0 2024-06-01 13:25:00.754
!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized.

!ENTRY org.eclipse.osgi 4 0 2024-06-01 13:25:01.174
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-pi4-gtk-4964r8 in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
no swt-pi4-gtk in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
no swt-pi4 in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
Can’t load library: /home/manohar/.swt/lib/linux/x86_64/libswt-pi4-gtk-4964r8.so
Can’t load library: /home/manohar/.swt/lib/linux/x86_64/libswt-pi4-gtk.so
Can’t load library: /home/manohar/.swt/lib/linux/x86_64/libswt-pi4.so

What else I need to do to handle this exception !

Regards,
Manohar

I am unsure. However Run the following command and try again:

erlangen:~ # zypper install systemd-container
Loading repository data...
Reading installed packages...
'systemd-container' is already installed.
No update candidate for 'systemd-container-255.6-2.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.
erlangen:~ # 

I run eclipse-jee-2024-03 from the same tarball with Tumleweed 20240524 KDE and have no problems. I have not even installed the systemd-container package and i see no reason why systemd-container should be relevant. In my opinion the “Equinox Container” is just a OSGI component that eclipse is using as core component .
Interestingly my eclipse process does not load any of the mentioned swt shared libs

grep libswt /proc/8552/maps 
7f03d6c00000-7f03d6c0c000 r-xp 00000000 00:2e 52541                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-webkit-gtk-4964r8.so
7f03d6c0c000-7f03d6e0b000 ---p 0000c000 00:2e 52541                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-webkit-gtk-4964r8.so
7f03d6e0b000-7f03d6e0c000 r--p 0000b000 00:2e 52541                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-webkit-gtk-4964r8.so
7f03d6e0c000-7f03d6e0d000 rw-p 0000c000 00:2e 52541                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-webkit-gtk-4964r8.so
7f03e4400000-7f03e4409000 r-xp 00000000 00:2e 48241                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-atk-gtk-4964r8.so
7f03e4409000-7f03e4608000 ---p 00009000 00:2e 48241                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-atk-gtk-4964r8.so
7f03e4608000-7f03e4609000 r--p 00008000 00:2e 48241                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-atk-gtk-4964r8.so
7f03e4609000-7f03e460a000 rw-p 00009000 00:2e 48241                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-atk-gtk-4964r8.so
7f03e4a00000-7f03e4a09000 r-xp 00000000 00:2e 48232                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-cairo-gtk-4964r8.so
7f03e4a09000-7f03e4c09000 ---p 00009000 00:2e 48232                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-cairo-gtk-4964r8.so
7f03e4c09000-7f03e4c0a000 r--p 00009000 00:2e 48232                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-cairo-gtk-4964r8.so
7f03e4c0a000-7f03e4c0b000 rw-p 0000a000 00:2e 48232                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-cairo-gtk-4964r8.so
7f03e5000000-7f03e506c000 r-xp 00000000 00:2e 48230                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
7f03e506c000-7f03e526b000 ---p 0006c000 00:2e 48230                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
7f03e526b000-7f03e526c000 r--p 0006b000 00:2e 48230                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
7f03e526c000-7f03e526f000 rw-p 0006c000 00:2e 48230                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
7f03e5600000-7f03e568b000 r-xp 00000000 00:2e 48228                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so
7f03e568b000-7f03e588a000 ---p 0008b000 00:2e 48228                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so
7f03e588a000-7f03e588b000 r--p 0008a000 00:2e 48228                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so
7f03e588b000-7f03e5893000 rw-p 0008b000 00:2e 48228                      /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so

All of the swt libs are loaded from the eclipse install directory in my case.
Do you have installed other eclipse versions either manual or via zypper ?

Fyi when SWT_GTK=1 is set in the environment it should force the use of GTK4 libs. But if I do this to reproduce the problem i failed because eclipse does a fallback to the GTK3 libs:

...
SWT OS.java Error: Failed to load swt-pi4, loading swt-pi3 as fallback
..

Have you changed any eclipse settings after the installation ?

Hi Rolf,

Many thanks for your inputs. I have not changed anything in my eclipse after the download. I tried with the environment variable SWT_GTK and then launched eclipse. Still its failing by looking for GTK4 libs

manohar@localhost:/opt/eclipse> echo $SWT_GTK
1

manohar@localhost:/opt/eclipse> hostnamectl
Static hostname: (unset)
Transient hostname: localhost
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: e78293fcb1b544fc9016be7d95205685
Boot ID: 9bfe4307c84a4e03aa0fa24ccd1b3c02
Virtualization: microsoft
Operating System: openSUSE Tumbleweed
CPE OS Name: cpe:2.3:o:opensuse:tumbleweed:20240524:::::::*
Kernel: Linux 6.9.1-1-default
Architecture: x86-64
Hardware Vendor: Microsoft Corporation
Hardware Model: Virtual Machine
Firmware Version: Hyper-V UEFI Release v4.1
Firmware Date: Wed 2022-04-06
Firmware Age: 2y 1month 3w 6d

manohar@localhost:/opt/eclipse> ./eclipse
Jun 02, 2024 10:41:42 AM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Jun 02, 2024 10:41:42 AM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
10:41:43.546 [Start Level: Equinox Container: 10c4be4e-09d7-49f3-af7e-04e04da9cc14] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x00000001002663f8@6b810f6d with shutdown hook
10:41:43.546 [Start Level: Equinox Container: 10c4be4e-09d7-49f3-af7e-04e04da9cc14] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x00000001002663f8@6b810f6d with shutdown hook
SWT OS.java Error: Failed to load swt-pi3, loading swt-pi4 as fallback.
10:41:44.372 [ForkJoinPool-1-worker-1] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x00000001002663f8@6b810f6d during JVM shutdown
10:41:44.372 [ForkJoinPool-1-worker-1] DEBUG org.eclipse.jgit.internal.util.ShutdownHook – Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$160/0x00000001002663f8@6b810f6d during JVM shutdown
manohar@localhost:/opt/eclipse>

I just installed openSUSE Tumbleweed in my Windows host hyper-V and then downloaded eclipse latest tarball which is failing with the above shown errors. I also tried older versions of eclipse and they also failing with the same errors :frowning_face:

Could you please check from the eclipse 2403 install directory if it includes swt libs

> cd <your eclipse dir>
> find . -name "libswt*"

and what gtk libs are installed

> zypper  se libgtk

Then post the results including the command line here in codetags (e.g. type ctrl-e, or use the </> button from the menu ).

manohar@localhost:/opt/eclipse> find . -name "libswt*"
manohar@localhost:/opt/eclipse> zypper  se libgtk
Loading repository data...
Reading installed packages...

S | Name                     | Summary                                                                         | Type
--+--------------------------+---------------------------------------------------------------------------------+--------
i | libgtk-2_0-0             | The GTK+ toolkit library (version 2)                                            | package
  | libgtk-2_0-0-32bit       | The GTK+ toolkit library (version 2)                                            | package
i | libgtk-3-0               | The GTK+ toolkit library (version 3)                                            | package
  | libgtk-3-0-32bit         | The GTK+ toolkit library (version 3)                                            | package
i | libgtk-4-1               | The GTK+ toolkit library (version 4)                                            | package
  | libgtk-layer-shell0      | Library to create desktop components for Wayland                                | package
  | libgtk-session-lock0     | Library to build screen lockers with GTK                                        | package
  | libgtk-vnc-2_0-0         | A GTK widget for VNC clients                                                    | package
  | libgtkd-3-0              | GtkD base library                                                               | package
  | libgtkdatabox-0_9_3-1    | GTK+ widget for fast data display                                               | package
  | libgtkdatabox-devel      | Development files for GtkDatabox                                                | package
  | libgtkdatabox1           | GTK+ widget for fast data display                                               | package
  | libgtkdgl-3-0            | GtkD gtkdgl library                                                             | package
  | libgtkdsv-3-0            | GtkD sourceview library                                                         | package
  | libgtkglext-x11-1_0-0    | OpenGL Extension to GTK                                                         | package
  | libgtkhex-4-1            | GNOME Binary Editor -- Library                                                  | package
  | libgtkhotkey-devel       | Platform Independent Hotkey Handling for GTK+ Applications -- Development Files | package
  | libgtkhotkey1            | Platform Independent Hotkey Handling for GTK+ Applications                      | package
  | libgtkhtml-4_0-0         | Lightweight HTML rendering/printing/editing engine                              | package
  | libgtkhtml-editor-4_0-0  | Lightweight HTML rendering/printing/editing engine                              | package
  | libgtkimageview0         | Library providing an advanced widget for GdkPixbuf                              | package
  | libgtkmm-2_4-1           | C++ Interface for GTK2 (a GUI library for X)                                    | package
  | libgtkmm-3_0-1           | C++ Interface for GTK3 (a GUI library for X)                                    | package
  | libgtkmm-4_0-0           | C++ Interface for GTK4 (a GUI library for X)                                    | package
  | libgtkpod1               | A platform independent GUI for the Apple® iPod® - System Library                | package
  | libgtksourceview-2_0-0   | GTK+ Source Editing Widget                                                      | package
  | libgtksourceview-3_0-1   | GTK+ Source Editing Widget                                                      | package
  | libgtksourceview-4-0     | GTK+ Source Editing Widget                                                      | package
  | libgtksourceview-5-0     | GTK+ Source Editing Widget                                                      | package
  | libgtksourceviewmm-3_0-0 | C++ interface for gtksourceview                                                 | package
  | libgtksourceviewmm-4_0-0 | C++ interface for gtksourceview                                                 | package
  | libgtkspell0             | GTK2 Spell Checker Interface Library                                            | package
  | libgtkspell3-3-0         | GTK3 Spell Checker Interface Library                                            | package
manohar@localhost:/opt/eclipse> 




Ok the find command sees no libswt*.so objects in your install folder.
I have installed the 2024-03 eclipse version in 2 virtual machines and in both if see the libswt*so files in the install directory e.g,

~/ide/eclipse> find . -name "libswt*"
./configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-cairo-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-atk-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-webkit-gtk-4964r8.so

These files are not present after the installation from the tar ball in my VMs. They were extracted on the first eclipse startup from this jar file:
./plugins/org.eclipse.swt.gtk.linux.x86_64_3.125.0.v20240227-1638.jar
Even when i delete the libswt*.so files manual the next eclipse start will extract them again and eclipse is starting with no problem.
And it seems this does not happen in your case. So I would suspect that the Eclipse startup code ignores gtk3 for whatever reason and wants to force the use of GTK4. And this fails because the required libs are not installed. Unfortunately, I don’t have any in-depth knowledge of GTK and the Eclipse startup process. I also don’t know of a tumbleweed package that could provide the missing libswt-pi4 libs. Maybe it is a good idea to consult the experts of the eclipse community.

ich@laptopneu:~> zypper se -s eclipse-swt
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S | Name             | Type  | Version     | Arch   | Repository
--+------------------+-------+-------------+--------+-----------
  | eclipse-swt      | Paket | 4.15-14.1   | x86_64 | repo-oss
  | eclipse-swtchart | Paket | 0.13.0-3.11 | noarch | repo-oss
ich@laptopneu:~> 

eclipse-swt provides libswt-pi3-gtk

Not sure if the openSUSE package is compatible with the upstream one you try to run…(version and filepath wise…)

Well eclipse-swt does not provide libswt-pi4*.so libs as far i can see:

rpm -ql eclipse-swt |grep so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/libswt-atk-gtk-4932r18.so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/libswt-awt-gtk-4932r18.so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/libswt-cairo-gtk-4932r18.so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/libswt-glx-gtk-4932r18.so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/libswt-gtk-4932r18.so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/libswt-pi3-gtk-4932r18.so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/libswt-webkit-gtk-4932r18.so
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/custom/TableCursor$1.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/custom/TableCursor$2.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/custom/TableCursor.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/custom/TreeCursor$1.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/custom/TreeCursor$2.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/custom/TreeCursor.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/graphics/Cursor.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/org/eclipse/swt/graphics/Resource.class
/usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.114.0.v20200407-0844/webkitextensions4932r18/libswt-webkit2extension-gtk-4932r18.so

and has at least no effect on my systems for manual installed tar balls. I do not know what eclipse-swtchart is but i would not expect shaerd objects from a noarch package.

But according to the output from the TO in this comment, eclipse is searching for swt-pi3…

But nevertheless installing the eclipse-swt might help since the GTK4 startup path has also a GTK3 fallback.

Summarising my trials on this.

I only installed a fresh openSUSE Tumbleweed:

> cat /etc/os-release
NAME="openSUSE Tumbleweed"
# VERSION="20240524"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20240524"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
# CPE 2.3 format, boo#1217921
CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20240524:*:*:*:*:*:*:*"
#CPE 2.2 format
#CPE_NAME="cpe:/o:opensuse:tumbleweed:20240524"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"

I just downloaded Eclipse tarball from: Eclipse downloads - Select a mirror | The Eclipse Foundation

When I run Eclipse, I got error:

> ./eclipse
Jun 06, 2024 12:59:24 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Jun 06, 2024 12:59:25 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
12:59:26.721 [Start Level: Equinox Container: abc7407d-3606-4d1b-868b-6b7512a23f7a] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$169/0x000000010025b270@1120a211 with shutdown hook
12:59:26.721 [Start Level: Equinox Container: abc7407d-3606-4d1b-868b-6b7512a23f7a] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$169/0x000000010025b270@1120a211 with shutdown hook
SWT OS.java Error: Failed to load swt-pi3, loading swt-pi4 as fallback.
12:59:29.946 [ForkJoinPool-1-worker-1] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$169/0x000000010025b270@1120a211 during JVM shutdown
12:59:29.946 [ForkJoinPool-1-worker-1] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$169/0x000000010025b270@1120a211 during JVM shutdown

Eclipse is also creating this file:

> ls -lah ~/.swt/lib/linux/x86_64/libswt-pi3-gtk-4964r8.so
-rwxr-xr-x 1 tux tux 445K Jun  6 12:59 /home/tux/.swt/lib/linux/x86_64/libswt-pi3-gtk-4964r8.so

Installing systemd-container and eclipse-swt doesn’t fix it.

Eclipse from repository works, but is old (2020) and installs a lot of unnecessary stuff with it.

The Eclipse tarball works out of the box in openSUSE Leap 15.5 and doesn’t copy the library to ~/.swt.

I really can’t understand how this is working to @rawar

First this has absolut nothing to do with systemd-container.
I use a tarball with the same name. Here the md5 checksum so we can be sure it is the same:

> md5sum eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz
2dd3ed30068ceb394d289e198e04e5ef  eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz

I see no libs in ~/.swt

> tree .swt
.swt
├── lib
│   └── linux
│       └── x86_64
└── trims.prefs

And i did install the tarball with my regular userid into ~/ide/eclipse. So when i start eclipse with my normal working account i have write permission to anything under ~/ide/eclipse.
When i trace the library laoding with

> LD_DEBUG=libs ./eclipse 2>lddebug.txt 

these are the swt lib that eclipse loads:

> grep "calling init"  lddebug.txt |grep swt
      2712:     calling init: /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so
      2712:     calling init: /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
      2712:     calling init: /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-cairo-gtk-4964r8.so
      2712:     calling init: /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-atk-gtk-4964r8.so
      2712:     calling init: /home/rolf/ide/eclipse/configuration/org.eclipse.osgi/790/0/.cp/libswt-webkit-gtk-4964r8.so

This was done on a KDE machine but works also on a second machine using gnome.
If possible log the library load with LD_DEBUG to a file and post it to paste.opensuse.org

I agree.

We have the same file:

> md5sum -c md5sums.txt 
eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz: SUCESS

> md5sum eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz 
2dd3ed30068ceb394d289e198e04e5ef  eclipse-jee-2024-03-R-linux-gtk-x86_64.tar.gz

LD_DEBUG= openSUSE Paste

I’m also able to reproduce this problem. On a fresh Tumbleweed install, there are some missing files (created after the first launch), when compared to the working Leap installation. On the fresh Tumbleweed install:

fmattioli@tumbleweed:~/eclipse> find . -name libswt*
./configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
fmattioli@tumbleweed:~/eclipse> 
fmattioli@tumbleweed:~/eclipse> tree ~/.swt
/home/fmattioli/.swt
└── lib
    └── linux
        └── x86_64
            └── libswt-pi3-gtk-4964r8.so

4 directories, 1 file

While, on Leap:

fmattioli@leap:~/eclipse> find . -name libswt*
./configuration/org.eclipse.osgi/790/0/.cp/libswt-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-pi3-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-cairo-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-atk-gtk-4964r8.so
./configuration/org.eclipse.osgi/790/0/.cp/libswt-webkit-gtk-4964r8.so
fmattioli@leap:~/eclipse>
fmattioli@leap:~/eclipse> tree ~/.swt
/home/fmattioli/.swt
└── trims.prefs

0 directories, 1 file

LD_DEBUG Leap

LD_DEBUG Tumbleweed

@heitormoreira
@fmatt
I have at the moment not the time to dig deep in this but could you check if libgthread-2 is installed

LANG=C zypper se   libgthread
Loading repository data...
Reading installed packages...

S | Name                   | Summary                                        | Type
--+------------------------+------------------------------------------------+--------
i | libgthread-2_0-0       | Portable API from glib wrapping system threads | package
  | libgthread-2_0-0-32bit | Portable API from glib wrapping system threads | package

1 Like
> LANG=C zypper se libgthread
Loading repository data...
Reading installed packages...

S | Name                   | Summary                                        | Type
--+------------------------+------------------------------------------------+--------
  | libgthread-2_0-0       | Portable API from glib wrapping system threads | package
  | libgthread-2_0-0-32bit | Portable API from glib wrapping system threads | package

It wasn’t installed. Installing it solved the problem.
How did you realize that this library was necessary?
Thank you very much.