Skip to content
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 Equinox launcher for linux.x86_64 on debian-12 #722

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

HannesWell
Copy link
Member

The image 'platformreleng-centos-swt-build:8' cannot be built anymore and is therefore not updated.
Align with SWT and use the debian-12 image instead.

This will increase the GLIBC version requirement to version 2.34, see eclipse-platform/eclipse.platform.swt#1422 (comment)

See also eclipse-platform/eclipse.platform.releng.aggregator#2441

The image 'platformreleng-centos-swt-build:8' cannot be built anymore
and is therefore not updated.
Align with SWT and use the debian-12 image instead.

This will increase the GLIBC version requirement to version 2.34, see
eclipse-platform/eclipse.platform.swt#1422 (comment)

See also eclipse-platform/eclipse.platform.releng.aggregator#2441
@HannesWell HannesWell requested a review from tjwatson December 15, 2024 09:42
@HannesWell
Copy link
Member Author

@akurtakov can you please check with the binaries built in https://ci.eclipse.org/releng/job/equinox/job/PR-722/2/ which GLIBC version is required?

Copy link

Test Results

  663 files  ±0    663 suites  ±0   1h 14m 18s ⏱️ - 5m 2s
2 211 tests ±0  2 164 ✅ ±0   47 💤 ±0  0 ❌ ±0 
6 777 runs  ±0  6 634 ✅ ±0  143 💤 ±0  0 ❌ ±0 

Results for commit db9570d. ± Comparison against base commit 3723380.

@akurtakov
Copy link
Member

Output of nm -D eclipse_11906.so |grep GLIBC :

U atoi@GLIBC_2.2.5
                 U closedir@GLIBC_2.2.5
                 w __cxa_finalize@GLIBC_2.2.5
                 U dlclose@GLIBC_2.34
                 U dlerror@GLIBC_2.34
                 U dlopen@GLIBC_2.34
                 U dlsym@GLIBC_2.34
                 U __errno_location@GLIBC_2.2.5
                 U execv@GLIBC_2.2.5
                 U execvp@GLIBC_2.2.5
                 U _exit@GLIBC_2.2.5
                 U exit@GLIBC_2.2.5
                 U fclose@GLIBC_2.2.5
                 U fgets@GLIBC_2.2.5
                 U fopen@GLIBC_2.2.5
                 U fork@GLIBC_2.2.5
                 U fprintf@GLIBC_2.2.5
                 U free@GLIBC_2.2.5
                 U fwrite@GLIBC_2.2.5
                 U getcwd@GLIBC_2.2.5
                 U getenv@GLIBC_2.2.5
                 U getpid@GLIBC_2.2.5
                 U __isoc99_sscanf@GLIBC_2.7
                 U malloc@GLIBC_2.2.5
                 U memmove@GLIBC_2.2.5
                 U memset@GLIBC_2.2.5
                 U nanosleep@GLIBC_2.2.5
                 U opendir@GLIBC_2.2.5
                 U pclose@GLIBC_2.2.5
                 U popen@GLIBC_2.2.5
                 U printf@GLIBC_2.2.5
                 U puts@GLIBC_2.2.5
                 U readdir@GLIBC_2.2.5
                 U realloc@GLIBC_2.2.5
                 U realpath@GLIBC_2.3
                 U setenv@GLIBC_2.2.5
                 U shmat@GLIBC_2.2.5
                 U shmctl@GLIBC_2.2.5
                 U shmdt@GLIBC_2.2.5
                 U shmget@GLIBC_2.2.5
                 U snprintf@GLIBC_2.2.5
                 U sprintf@GLIBC_2.2.5
                 U stat@GLIBC_2.33
                 U stderr@GLIBC_2.2.5
                 U strcasecmp@GLIBC_2.2.5
                 U strcat@GLIBC_2.2.5
                 U strchr@GLIBC_2.2.5
                 U strcmp@GLIBC_2.2.5
                 U strcpy@GLIBC_2.2.5
                 U strdup@GLIBC_2.2.5
                 U strlen@GLIBC_2.2.5
                 U strncmp@GLIBC_2.2.5
                 U strncpy@GLIBC_2.2.5
                 U strrchr@GLIBC_2.2.5
                 U strstr@GLIBC_2.2.5
                 U strtok@GLIBC_2.2.5
                 U strtol@GLIBC_2.2.5
                 U waitpid@GLIBC_2.2.5

so 2.34 it is.

@akurtakov
Copy link
Member

akurtakov commented Dec 15, 2024

output of nm -D eclipse |grep GLIBC

                 U closedir@GLIBC_2.2.5
                 w __cxa_finalize@GLIBC_2.2.5
                 U dlclose@GLIBC_2.34
                 U dlerror@GLIBC_2.34
                 U dlopen@GLIBC_2.34
                 U dlsym@GLIBC_2.34
                 U __errno_location@GLIBC_2.2.5
                 U exit@GLIBC_2.2.5
                 U fclose@GLIBC_2.2.5
                 U fgets@GLIBC_2.2.5
                 U fopen@GLIBC_2.2.5
                 U fprintf@GLIBC_2.2.5
                 U free@GLIBC_2.2.5
                 U getcwd@GLIBC_2.2.5
                 U getenv@GLIBC_2.2.5
                 U geteuid@GLIBC_2.2.5
                 U __isoc99_sscanf@GLIBC_2.7
                 U __libc_start_main@GLIBC_2.34
                 U malloc@GLIBC_2.2.5
                 U memmove@GLIBC_2.2.5
                 U memset@GLIBC_2.2.5
                 U opendir@GLIBC_2.2.5
                 U printf@GLIBC_2.2.5
                 U puts@GLIBC_2.2.5
                 U readdir@GLIBC_2.2.5
                 U realloc@GLIBC_2.2.5
                 U realpath@GLIBC_2.3
                 U setlocale@GLIBC_2.2.5
                 U sprintf@GLIBC_2.2.5
                 U stat@GLIBC_2.33
                 U stderr@GLIBC_2.2.5
                 U strcasecmp@GLIBC_2.2.5
                 U strcat@GLIBC_2.2.5
                 U strchr@GLIBC_2.2.5
                 U strcmp@GLIBC_2.2.5
                 U strcpy@GLIBC_2.2.5
                 U strdup@GLIBC_2.2.5
                 U strlen@GLIBC_2.2.5
                 U strncmp@GLIBC_2.2.5
                 U strncpy@GLIBC_2.2.5
                 U strrchr@GLIBC_2.2.5
                 U strtol@GLIBC_2.2.5

@HannesWell
Copy link
Member Author

Thank you.
So it means that, just like for SWT where it is already the case, as soon as this is submitted, the launcher will for example not work on Debian-11 anymore.

@akurtakov
Copy link
Member

akurtakov commented Dec 16, 2024

Any machine that doesn't have glibc 2.34 or newer will not work.

@HannesWell
Copy link
Member Author

Any machine that doesn't have glibc 2.34 or newer will not work.

Yes. With Debian-11 I just wanted to give an explicit example.

@tjwatson and @laeubi as project-leads of Equinox, are you fine with this?
If yes, I'll submit this and rebuild the native launcher for Linux/GTK.

@tjwatson
Copy link
Contributor

@tjwatson and @laeubi as project-leads of Equinox, are you fine with this?
If yes, I'll submit this and rebuild the native launcher for Linux/GTK.

Is there much of a choice here? I do believe this change and the SWT one will become disruptive to existing enterprise users that may not be able to move their developers up to the required versions quickly.

On the other hand, I thought this was a hard requirement because we no longer have a supported environment to compile to the older libraries.

@iloveeclipse
Copy link
Member

Do we have instructions how to build native equinox binaries outside of eclipse.org infra?

We had our fun to find instructions for SWT natives rebuild in eclipse-platform/eclipse.platform.swt#1631 , would be nice to have that info before we break the compatibility in yet another place.

@trancexpress : FYI.

Copy link
Member

@laeubi laeubi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there much of a choice here?

Not really, currently Eclipse can't start with GTK4 enabled using the launcher so we will need it rather sooner than later. Also given that SWT has higher requirements it seems a good time to do it.

Beside this, one can always just use an older version of the launcher from a previous release as there is usually no direct binding between release+launcher.

@laeubi
Copy link
Member

laeubi commented Dec 18, 2024

Seems we need some version bumps here.

@laeubi
Copy link
Member

laeubi commented Dec 18, 2024

@iloveeclipse the instructions to build are described here:

https://github.com/eclipse-equinox/equinox/blob/master/features/org.eclipse.equinox.executable.feature/README.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants