From b990e64da1eae8396029fc43bcc5eb06139ff648 Mon Sep 17 00:00:00 2001 From: "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 10:27:26 -0800 Subject: [PATCH] Update DEVELOPER_GUIDE.md (#9368) (#9373) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When building the OpenSearch Dashboards artifact for Linux, the build may fail on certain distributions. This issue stems from the recent upgrade from node-sass to dart-sass. The new process uses an embeddable module from dart-sass to process Sass files, which relies on a platform-specific compiler. On Linux, this module depends on glibc. However, some distributions—like Alpine Linux—use musl libc instead, which is incompatible with this module. I'm updating the DEVELOPER_GUIDE documentation to help other developers choose the appropriate distro for Docker images and avoid the pitfalls I encountered. See the issue I created in Github explaining this reasoning: https://github.com/opensearch-project/OpenSearch-Dashboards/issues/9329 Also the forum where I posted the kind of error you see when building with a Linux Distribution that is incompatible with glibc: https://forum.opensearch.org/t/docker-a-error-error-worker-exitted-unexpectedly-with-code-1-last-message-bundleid-embeddable-type-running/23214 (cherry picked from commit 57e1d27faddbf340205afa98dac25882a7d85e29) Signed-off-by: Luis Beltrán <65525454+lbeltran-dev@users.noreply.github.com> Signed-off-by: github-actions[bot] Co-authored-by: github-actions[bot] --- DEVELOPER_GUIDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEVELOPER_GUIDE.md b/DEVELOPER_GUIDE.md index 5bc9f47dc050..626475e9325f 100644 --- a/DEVELOPER_GUIDE.md +++ b/DEVELOPER_GUIDE.md @@ -372,7 +372,7 @@ You could pass one or multiple flags. If you don't pass any flag, `yarn build-pl Currently, the supported flags for this script are: - `darwin` (builds Darwin x64) -- `linux` (builds Linux x64) +- `linux` (builds Linux x64) **Note:** This build relies on the `dart-sass-embeddable` module, which uses `glibc`. Some Linux distributions (such as Alpine Linux) use `musl` instead of `glibc` and are not compatible with this build. If you are using a musl-based distro, consider building on a glibc-based environment (for example, using a Docker image based on Debian or CentOS) to avoid compatibility issues. - `linux-arm` (builds Linux ARM64). - `windows` (builds Windows x64)