Open olexii4 opened 6 months ago
сс: @RomanNikitenko
@ibuziuk
I provided support for ubi9-based containers, but no one worked on ubuntu
support.
So, I would say:
ubuntu
bug
label is suitable for this issue as AFAIK we didn't have it working previously How about images provided by us PizzaFactory project ? We bake Debian, Ubuntu, and Alpine based images almost everyday.
https://github.com/pizzafactory-contorno
They are not UBI-like but only specific tools are contained (similar to ancient versions of che-images).
Even though I suppose you can make your swiss-army-knife from our base images. https://hub.docker.com/r/pizzafactory0contorno/piatto
@monaka Hello!
We bake Debian, Ubuntu, and Alpine based images almost everyday. They are not UBI-like but only specific tools are contained
I think @olexii4 means that Che-Code should start in a vanilla
ubuntu container, so like Che-Code
should bring Node.js and all required libraries to a user's container.
The quick fix for bringing Node.js and all required libraries:
FROM docker.io/debian:buster
USER 0
RUN apt-get update && apt-get install -y curl && apt-get clean
ENV NODE_VERSION=v18.18.2
ENV NODE_DISTRO=linux-x64
ENV NODE_BASE_URL=[https://nodejs.org/dist/${NODE_VERSION}](https://nodejs.org/dist/$%7BNODE_VERSION%7D)
RUN curl -fsSL ${NODE_BASE_URL}/node-${NODE_VERSION}-${NODE_DISTRO}.tar.gz -o node-${NODE_VERSION}-${NODE_DISTRO}.tar.gz \
&& mkdir -p /usr/local/lib/nodejs \
&& tar -xzf node-${NODE_VERSION}-${NODE_DISTRO}.tar.gz -C /usr/local/lib/nodejs \
&& rm node-${NODE_VERSION}-${NODE_DISTRO}.tar.gz
ENV VSCODE_NODEJS_RUNTIME_DIR=/usr/local/lib/nodejs/node-${NODE_VERSION}-${NODE_DISTRO}/bin
ENV PATH=${VSCODE_NODEJS_RUNTIME_DIR}:$PATH
Something similar I described in another issue for ubuntu https://github.com/eclipse/che/issues/22183#issuecomment-1527121963
I think @olexii4 means that Che-Code should start in a vanilla ubuntu container,
Hmm, but the quick fix that is shown by @olexii4 isn't a vanilla image...
so like Che-Code should bring Node.js and all required libraries to a user's container.
I'm not sure why this plan fixes the issue... It might be that I should dig a little deeper.
but the quick fix that is shown by @olexii4 isn't a vanilla image...
I would say - it's a workaround
@RomanNikitenko I think I see the point of this issue.
che-code
should provide /checode/checode-linux-libc/{ubuntu|deibian|brah-brah}
, right?
@monaka
che-code should provide /checode/checode-linux-libc/{ubuntu|deibian|brah-brah}, right?
We use that approach for ubi8/ubi9.
In fact, to run Che-Code in a user's container we need:
At starting a workspace we copy Node.js + Che-Code assembly to a user's container. The problem is: Node.js relies on some shared libraries:
For example, it's possible to start a workspace for docker.io/ubuntu: 22.04
as a user's container.
It means that docker.io/ubuntu: 22.04
has required libraries.
At the same time it's impossible to start a workspace for the docker.io/ubuntu:20.04
based container - some libraries are absent in the image/container.
Node.js can not be run if a library is absent in a user's container.
So, we need a solution that will provide all required libraries to a user's container.
So, we need a solution that will provide all required libraries to a user's container.
Well. And it can be solved by ...
/checode/checode-linux-libc/{Ubuntu|...}/lib
./checode/.../lib
to LD_LIBRARY_PATH
.I read https://github.com/che-incubator/che-code/pull/332 also. I suppose I can add some contributions to che-code, as some of my customers will want to use Ubuntu based images.
BTW... I guess there are similar issues in jetbrains-editor-images potentially, right?
I suppose I can add some contributions to che-code, as some of my customers will want to use Ubuntu based images.
You are very welcome!
BTW... I guess there are similar issues in jetbrains-editor-images potentially, right?
If I'm not mistaken, it's an example of such problem: https://github.com/eclipse/che/issues/22847#issuecomment-1964310789
@RomanNikitenko PTAL - https://github.com/jart/cosmopolitan/releases/tag/3.5.0
@ibuziuk will explore it when come back to the current issue, thank you!
I checked to build Node with CosmoCC. I couldn't build the master branch of Node. Because the version of gcc/g++ in CosmoCC is too fresh to build Node. I suppose we need to build our CosmoCC with downgraded gcc/g++. (Or to send PR to nodejs/node, ... of course, it's a harder way...)
Describe the bug
We cannot start a workspace with the che-code editor and a vanilla ubuntu or debian container.
Che version
7.82@latest
Steps to reproduce
or use the created one.
Empty ubuntu with Eclipse CHE
Nodejs starter with Eclipse CHE
Expected behavior
A new workspace should be started without any issues.
Runtime
OpenShift
Screenshots
Installation method
chectl/latest, chectl/next
Environment
Linux, macOS
Eclipse Che Logs
No response
Additional context
Empty ubuntu with Eclipse CHE
Nodejs starter with Eclipse CHE