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

musl-1.2.4-r1 on alpine not supported #95

Closed
wibed opened this issue Aug 13, 2023 · 3 comments
Closed

musl-1.2.4-r1 on alpine not supported #95

wibed opened this issue Aug 13, 2023 · 3 comments

Comments

@wibed
Copy link

wibed commented Aug 13, 2023

ran the following:

FROM --platform=linux/amd64 alpine:latest 

RUN \
  apk -u fix \
  && apk --no-cache --no-update add xz curl \
  &&  curl -sL 'https://unofficial-builds.nodejs.org/download/release/v20.5.1/node-v20.5.1-linux-x64-musl.tar.xz' | xzcat | tar -vx --strip-components=1 -C /usr/local 

ENTRYPOINT [ "node" "version" ]
# ERROR
Error loading shared library libstdc++.so.6: No such file or directory (needed by /usr/local/bin/node)
Error loading shared library libgcc_s.so.1: No such file or directory (needed by /usr/local/bin/node)
Error relocating /usr/local/bin/node: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc: symbol not found
Error relocating /usr/local/bin/node: _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc: symbol not found
Error relocating /usr/local/bin/node: _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base: symbol not found
Error relocating /usr/local/bin/node: _ZNSi10_M_extractIdEERSiRT_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm: symbol not found
Error relocating /usr/local/bin/node: _ZnwmRKSt9nothrow_t: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt12__basic_fileIcE7is_openEv: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt6localeC1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8ios_baseC2Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt6localeD1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSo5tellpEv: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIdEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale: symbol not found
Error relocating /usr/local/bin/node: _ZNSo5seekpElSt12_Ios_Seekdir: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIlEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZNSolsEi: symbol not found
Error relocating /usr/local/bin/node: _ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc: symbol not found
Error relocating /usr/local/bin/node: _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8ios_baseD2Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt18condition_variableD1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt5ctypeIcE13_M_widen_initEv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E: symbol not found
Error relocating /usr/local/bin/node: _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc: symbol not found
Error relocating /usr/local/bin/node: _ZSt20__throw_system_errori: symbol not found
Error relocating /usr/local/bin/node: _ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale: symbol not found
Error relocating /usr/local/bin/node: _ZNSolsEs: symbol not found
Error relocating /usr/local/bin/node: _ZNSt10_Sp_lockerD1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8__detail15_List_node_base7_M_hookEPS0_: symbol not found
Error relocating /usr/local/bin/node: _ZSt11_Hash_bytesPKvmm: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIbEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_: symbol not found
Error relocating /usr/local/bin/node: _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base: symbol not found
Error relocating /usr/local/bin/node: _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l: symbol not found
Error relocating /usr/local/bin/node: _ZSt25__throw_bad_function_callv: symbol not found
Error relocating /usr/local/bin/node: _ZdlPvm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_: symbol not found
Error relocating /usr/local/bin/node: __cxa_thread_atexit: symbol not found
Error relocating /usr/local/bin/node: _ZNSt10_Sp_lockerC1EPKv: symbol not found
Error relocating /usr/local/bin/node: _ZSt16__throw_bad_castv: symbol not found
Error relocating /usr/local/bin/node: _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_: symbol not found
Error relocating /usr/local/bin/node: _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_: symbol not found
Error relocating /usr/local/bin/node: __popcountdi2: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertImEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZSt19__throw_logic_errorPKc: symbol not found
Error relocating /usr/local/bin/node: _Znwm: symbol not found
...
a lot more

the main page indicates it builds against musl libc 1.1.2
i dont know why this seems to be built for a different platform.

@rvagg
Copy link
Member

rvagg commented Aug 14, 2023

Here's my fixed version of your Dockerfile:

FROM --platform=linux/amd64 alpine:latest

RUN \
  apk -u fix \
  && apk --no-cache add xz curl libstdc++ \
  &&  curl -sL 'https://unofficial-builds.nodejs.org/download/release/v20.5.1/node-v20.5.1-linux-x64-musl.tar.xz' | xzcat | tar -vx --strip-components=1 -C /usr/local

ENTRYPOINT [ "node", "--version" ]
$ docker run c6a61504872d77a81d936e80807150577324e765c0b4d0c245838b630f505411
v20.5.1

Diff:

5c5
<   && apk --no-cache --no-update add xz curl \
---
>   && apk --no-cache add xz curl libstdc++ \
8c8
< ENTRYPOINT [ "node" "version" ]
---
> ENTRYPOINT [ "node", "--version" ]

(libstdc++ being the main thing doing the trick here, but other fixes necessary to make it run)

@rvagg rvagg closed this as completed Aug 14, 2023
@wibed
Copy link
Author

wibed commented Aug 14, 2023

ooc on the hub there are alpine images

https://hub.docker.com/_/node/

are those related to those unofficial builds?

@rvagg
Copy link
Member

rvagg commented Aug 14, 2023

Yeah, sort of. They are built out of https://github.com/nodejs/docker-node, the Alpine images in the template @ https://github.com/nodejs/docker-node/blob/main/Dockerfile-alpine.template use unofficial-builds tarballs where they can.

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

2 participants