Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-dev] Eclipse Platform Build
  • From: Vishnu Sarath <vishnu.sarath@xxxxxxxxxxx>
  • Date: Mon, 5 Jun 2023 11:10:39 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ashling.com; dmarc=pass action=none header.from=ashling.com; dkim=pass header.d=ashling.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pzXu03aMrY73FK5J6gQZhnQxgOpnH5y8KutzR6/R05w=; b=iDXxXh7UPl9mGcWgS+3BtDmZ7iRrlYl9pOjKD3T+LXDqtfzbQxO33Ku/8BM1u1lF6a0YAnWuGHqngseBHrSyzx3esE3xhdP2vqETvn9CEJn/XP2oznVK0g4Ggapg2/EoqCUWohTEPNpxhjFmt38ef4tOxVm8eqgE0BQkZxPmbmTb3UOYakvb/AO9FFzHFjErSQlmkvmJdjuDhcSXBLtwurTQ6nXea4SrPIZljbVQoXdEKjmtnup1KIy5Hm6mqQ0YqgWEHsjl8hb29say5Id36J7KvPDYgr/EZ/pHGqFb7PjojIdjiWqXbpCcL17FVQh4dY+83Sn7TLD6WoG4IJoAQw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K0ej18TI5IaukpCIqVD0bKq7yMWNJcLMcG049vB/etM5BBrikmzA2hvhORspcnNFy8+G1rbqfiAgp5eVWuJnflA0cnDpuBpoRBx0uL6v+OKpdxUfHO4OLPTvJIcKZ9Q9Ld3xeeax5CHhjSrfDghbbo8ejSP5Qv4fwbysM5Q82jyBgEt1FW9qbiYVWKrJMfOlF6SVNYDyliKAxVL8n6icW27WFSzqZGJECfDEYbJx6Wbw8MumZoNCbtPu4NZGl982CUFFbPIQtGZHWQkSK62ReI874AEFmfy4R3rajJvL7beggnd8hcyVr2O5Bw/vjTj7MNeuK1wbX5FQYuzxqklKdw==
  • Delivered-to: platform-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/platform-dev/>
  • List-help: <mailto:platform-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/platform-dev>, <mailto:platform-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/platform-dev>, <mailto:platform-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AdmNdefGHdWlhfZgRa6AdbAaAQaQiAACGEmgACV4XxAAAL7LgAAtu4UAAV/If9AAALImcADTkh+Q
  • Thread-topic: [platform-dev] Eclipse Platform Build

Hi All,

 

I had to work on this issue and found that the changes in the commit : https://github.com/eclipse-platform/eclipse.platform.swt/commit/d8e3f297ffde54412d935db7dde31d276b58b635#diff-874667bd88035dc47251befdad240fb5cf39f7db50597060fe17c2ecb6082de5 has caused this issue. But this commit seems to be added intentionally making the min version of GTK to 3.22. The crash occurs when we are right clicking (when trying to show a pop up menu) - getting gtk_menu_popup_at_pointer undefined symbol. Since this may not be present in gtk4. Earlier we used to have a separate handling if the gtk version was less than 3.22. I tried to add the removed native call and changes in Menu.java, Device.java and Shell.java and the right click functionality is working fine now.

 

I had to build the .so files used for gtk.linux locally for this. When I was doing that I created the .so using

`eclipse.platform.swt\bundles\org.eclipse.swt\bin\library\build.sh -gtk3 install` command. The output .so files will be created using GTK3 binding (eg: libswt-pi3-gtk-4960r6.so ) and it will not have the .so corresponding to GTK4 binding (expected as per the documentation).

* But will these .so files work for any platform (when the final product is installed) where the GTK version installed is GTK4. I am afraid that it will fail at some native calls for GTK4 (as I see we have GTK4 native calls made from  different UI java classes).

* When I checked the latest eclipse platform, it also contains only the "libswt-pi3-gtk-4960r6.so" (and no libswt-pi4-gtk-4960r6.so) in org.eclipse.swt.gtk.linux.x86_64.jar. So I just wanted to confirm during eclipse build also we are using -gtk3 and e haven't moved to gtk4 still. Please correct me if I am wrong at some point.

 

 

Thanks,

Vishnu

 

From: Vishnu Sarath
Sent: Thursday, June 1, 2023 11:50 AM
To: platform-dev@xxxxxxxxxxx; mistria@xxxxxxxxxx
Subject: RE: [platform-dev] Eclipse Platform Build

 

Thanks @mistria@xxxxxxxxxx for the detailed mail. I was trying out the things mentioned.

 

Please see the below steps I tried:

 

  • Setup a Fedora38 VM.
  • We suspect this commit https://github.com/eclipse-platform/eclipse.platform.swt/commit/d8e3f297ffde54412d935db7dde31d276b58b635#diff-874667bd88035dc47251befdad240fb5cf39f7db50597060fe17c2ecb6082de5 (which was done to make 3.22 GTK version as minimum), as the cause of the crash issue we are seeing (not sure, need to confirm). The crash occurs when we are right clicking (when trying to show a pop up menu) - getting gtk_menu_popup_at_pointer undefined symbol. Since this may not be present in gtk4. Earlier we used to have a separate handling if the gtk version was less than 3.22. I tried to add the removed native call and changes in Menu.java. And created the .so files with building in Fedora38 VM (Glibc 2.37).
  • But when I am using this .so files in the product and trying to launch the product in SUSE12 SP5, the launch itself is failing. When I tried find the root cause (adding some logs) I got the below error:

/home/testuser/Downloads/testProduct/testProduct -linux.gtk.x86_64/configuration/org.eclipse.osgi/277/0/.cp/libswt-pi3-gtk-4960r6.so: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /home/ testuser/Downloads/ testProduct / testProduct -linux.gtk.x86_64/configuration/org.eclipse.osgi/277/0/.cp/libswt-pi3-gtk-4960r6.so)

               It’s expecting Glibc version above 2.34 while the SUSE12 is having 2.22 by default.

 

I am a bit new to this, so could someone please guide me on how to fix this. Is this issue because I am using a wrong platform (with higher version of Glibc 2.37 for building). What is the ideal platform which we are using to generate swt .so files for linux gtk.

 

Thanks,

Vishnu

 

From: Mickael Istria <mistria@xxxxxxxxxx>
Sent: Wednesday, May 24, 2023 1:40 PM
To: Eclipse platform general developers list. <platform-dev@xxxxxxxxxxx>
Cc: Vinod Appu <vinod.appu@xxxxxxxxxxx>
Subject: Re: [platform-dev] Eclipse Platform Build

 

Hi,

 

Please see https://wiki.eclipse.org/Platform-releng/Platform_Build for explanation of how to build the Eclipse Platform and https://github.com/eclipse-platform/eclipse.platform.swt/wiki/Devel-GTK-Dev-guide for particular GTK stuff.

The version of SWT was bumped by +0.1.0 during last cycle, which means it has new APIs and some bundles are probably consuming those new API; so by auditing the version, it seems like the combination you wish to achieve (latest platform with old SWT) is then not possible.

With the link above and good knowledge of Maven, Tycho and PDE, you may be able to hack something to enforce another locally built version of SWT, but overall it will be annoying and difficult for questionable value. If you can make a PR that fixes https://github.com/eclipse-platform/eclipse.platform/issues/212 while still working with supported environments, there are chances that it get merged and than part of the official build. This is IMO the most profitable path forward, although it's not certain it can work.

Note that if you're stuck in an environment that is not supported anymore, you may consider alternative distributions of Eclipse IDE, such as Flatpak one; with such container-like installations, most libs -including GTK- are supposed to be included in a compatible way. https://flathub.org/apps/org.eclipse.Java .

HTH

Mickael


Back to the top