-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build launcher with older version of debian to limit glibc version required #834
Conversation
As with eclipse-platform/eclipse.platform.releng.aggregator#2802, I don't know how to test this on the build machine. I can verify that it works locally. Here is running the build with
And here is using the image from eclipse-platform/eclipse.platform.releng.aggregator#2802:
|
I think there are some ways to modify the pipeline, but I don't thing we need to complicate it, if you have tested it local and confident it works, the best is to merge it and check the next I-Build. |
features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak
Outdated
Show resolved
Hide resolved
I do think that the updated glibc version requirement is going to be disruptive if it stays like it is for the 2025-03 release. But is there a similar effort going on to make SWT also to be able to run with an older glibc? |
There is - I am doing that next. The launcher change was to test the waters. I hadn't made the SWT issue report yet - I will do that now. |
|
FYI, there has already been some negative impact from the lack of backward compatibility, and that's being noticed during the early milestone phases: |
Once we have submitted that change and build and deployed the new docker-image the Jenkins build should pick-up your changes automatically (maybe a committer has to rebuild it since changes from non-committers might not be picked-up from PRs). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change looks good and the latest build with it applied succeeded.
You can get the built Equinox launcher executable and native launcher libraries from Jenkins:
https://ci.eclipse.org/releng/job/equinox/job/PR-834/8/artifact/equinox.binaries/
Since the I-build just started, I'd leave this open for comments until tomorrow Wednesday (European) evening and submit it then, unless there are (major) objections.
features/org.eclipse.equinox.executable.feature/library/cocoa/make_cocoa.mak
Outdated
Show resolved
Hide resolved
…quired Doing this allows eclipse launcher to run on older Linux installs than the just the most recent versions. In particular this is important to ensure users who do check for updates end up with a still working eclipse launcher. In addition, this commit introduces a check in the build process that the built eclipse/eclipse.so only contains the expected sets of dependencies. The x86_64 PERMITTED_GLIBC_VERSION value is based on what Eclipse 4.34 used and what is now achieved again with this commit. The check_dependencies.sh script was derived from work I did on CDT [here](/scratch/eclipse/src/cdt/org.eclipse.cdt/releng/scripts/check_glibc_dependencies.shhttps://github.com/eclipse-cdt/cdt/blob/dfdc174b6d972037db2f299457fac9f0dd44c081/releng/scripts/check_glibc_dependencies.sh) Requires eclipse-platform/eclipse.platform.releng.aggregator#2802 Fixes eclipse-equinox#830
I have tested these artifacts on x86-64 against the original use cases in #830. I tested them locally on my Xubuntu 24.04 and with docker on Debian:11. Here are the specific steps I ran on my host machine. (Note I have java located in
I'll now push the comment cleanup. Let me know if there is anything else you think I should write or test. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can get the built Equinox launcher executable and native launcher libraries from Jenkins:
https://ci.eclipse.org/releng/job/equinox/job/PR-834/8/artifact/equinox.binaries/I have tested these artifacts on x86-64 against the original use cases in #830. I tested them locally on my Xubuntu 24.04 and with docker on Debian:11.
I have also tested only the new executable on my Debian 11 workstation at my office.
I'll now push the comment cleanup. Let me know if there is anything else you think I should write or test.
Thank you. This now looks perfectly fine to me.
🥳 The I-build worksI tested this change + the corresponding change eclipse-platform/eclipse.platform.swt#1795 with I20250206-1800. The test suites have not completed running yet. While the equinox unit tests passed in this PR, please help me identify if anything looks like it regressed in the integration build. Please see eclipse-platform/eclipse.platform.swt#1795 (comment) for full details of the manual tests I ran |
Doing this allows eclipse launcher to run on older Linux installs than the just the most recent versions. In particular this is important to ensure users who do check for updates end up with a still working eclipse launcher.
In addition, this commit introduces a check in the build process that the built eclipse/eclipse.so only contains the expected sets of dependencies.
The x86_64 PERMITTED_GLIBC_VERSION value is based on what Eclipse 4.34 used and what is now achieved again with this commit. For other linux platforms we don't enforce versions yet.
The check_dependencies.sh script was derived from work I did on CDT here
Requires eclipse-platform/eclipse.platform.releng.aggregator#2802
Fixes #830