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

GLIBC on build machine too recent for Ubuntu 18.04 LTS #41

Closed
jfaltermeier opened this issue Feb 9, 2021 · 12 comments
Closed

GLIBC on build machine too recent for Ubuntu 18.04 LTS #41

jfaltermeier opened this issue Feb 9, 2021 · 12 comments
Milestone

Comments

@jfaltermeier
Copy link
Contributor

Bug Description:

When starting the AppImage on Ubuntu 18.04 we get this error:

Failed to start the backend application.
Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/.mount_Theia-cDpToP/resources/app/node_modules/@theia/node-pty/build/Release/pty.node)

Steps to Reproduce:

  1. Start the AppImage on Ubuntu 18.04 LTS
@jfaltermeier
Copy link
Contributor Author

As far as I could see using FROM node:12.19.0-stretch instead of FROM node:12.19.0-buster in https://github.com/eclipse-theia/theia-blueprint/blob/master/Dockerfile should work.
@thegecko Is there a dependency to buster or can we use stretch on the Build-Server for building the Linux related bits?

@thegecko
Copy link
Member

thegecko commented Feb 9, 2021

Is there a dependency to buster

not AFAIK

@marcdumais-work
Copy link
Contributor

marcdumais-work commented Feb 9, 2021

When starting the AppImage on Ubuntu 18.04 we get this error

On which OS was the AppImage built? More recent than Ubuntu 18.04?

AppImage is a very useful format, but it has its limitations. Practically I find that what's more likely to work is to build the AppImage on the oldest OS possible, so as not to depend on anything that will not be present, if you attempt to run it on an older machine.

Example: I have two machines:
1- Ubuntu 20.04
2- RHEL/CentOS 7.x (oldest on which Theia apps are known to work)

If I build the Appimage on 1, it will not work on 2 or probably anything older than 1. If I build it on 2, it will likely work ok on 1.

jfaltermeier added a commit to eclipsesource/theia-example that referenced this issue Feb 22, 2021
Contributed on behalf of STMicroelectronics
Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
@jfaltermeier
Copy link
Contributor Author

The Linux build is done like this:

stage('Create Linux Installer') {

So we are using the thegecko/theia-dev image to build, which is built from https://github.com/eclipse-theia/theia-blueprint/blob/master/Dockerfile as far as I could see. So currently this is Debian Buster

If we deploy a new version of this image using the Dockerfile from #46 we should have compatibility with more Unix Versions.

@thegecko
Copy link
Member

thegecko commented Feb 22, 2021

Yes, thegecko/theia-dev is simply a published version of:

https://github.com/eclipse-theia/theia-blueprint/blob/master/Dockerfile.

It should probably be published somewhere else. Anyone aware of a docker registry owned by Theia or Eclipse we can use?

@jfaltermeier
Copy link
Contributor Author

Yes, thegecko/theia-dev is simply a published version of:

https://github.com/eclipse-theia/theia-blueprint/blob/master/Dockerfile.

It should probably be published somewhere else. Anyone aware of a docker registry owned by Theia or Eclipse we can use?

I found this in the eclipse project handbook: https://wiki.eclipse.org/CBI#Docker_Hub
So it should be possible for committers to publish under the eclipse organization once requested

@marcdumais-work
Copy link
Contributor

Let's just be aware of this limitation. We might eventually consider adding OS-specific builds to improve compatibility: e.g. RHEL7+, Ubuntu LTS, ...

@marcdumais-work
Copy link
Contributor

@thegecko I've been thinking that we should consider creating the next generation of "theia-apps" under the foundation. The original one is licensed Apache 2 and I think it probably can't be practically re-licensed, because it has a lot of external contributions.

OTOH the use of vscode extensions probably removes most of the need for language-specific images. We have ideas (*) to improve the repo/apps, but we could instead do that here - a blueprint image that one can consume. Practically we might want two: a lightweight JS/TS IDE that can be used OOTB and something like the theia-full image, that supports as many as we can.

We would publish these under the Foundation's account, on dockerhub.

(*): Teaser: I'd like to have a packaged browser version of blueprint, that we can re-use in the images. No more building the Theia app in place if we can avoid it.

WDYT?

@thegecko
Copy link
Member

thegecko commented Mar 1, 2021

...we should consider creating the next generation of "theia-apps" under the foundation

Yeah, good idea. My only concern would be the effort to produce these and ongoing maintenance. How do we ensure they don't rot?

To solve this issue of hosting the linux build machine (and considering the potential future images you suggest), should we request an eclipseTheia organisation as outlined on https://wiki.eclipse.org/CBI#Docker_Hub

@marcdumais-work
Copy link
Contributor

How do we ensure they don't rot?

I guess the same way we do for images under theia-apps: have a minimal test suite that detects if the image is borked and generally maintain them. @vince-fugnitto and myself have been doing most of that work (not a huge effort), and we could transition to the new images. The idea would be to do them from scratch or at least not based on our existing images.

@marcdumais-work
Copy link
Contributor

To solve this issue of hosting the linux build machine (and considering the potential future images you suggest), should we request an eclipseTheia organisation as outlined on https://wiki.eclipse.org/CBI#Docker_Hub

sounds like a good idea!

@thegecko
Copy link
Member

thegecko commented Mar 1, 2021

https://bugs.eclipse.org/bugs/show_bug.cgi?id=571598

thegecko added a commit that referenced this issue Mar 12, 2021
Use older debian version for build #41
@jfaltermeier jfaltermeier added this to the Alpha milestone Apr 1, 2021
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

No branches or pull requests

3 participants