Arkscript docker image has undefined symbols
What happened?
I tried to use the latest Arkscript docker image, and I'm seeing a undefined symbols when I try to run the Arkscript executable in the docker container.
What ArkScript version are you seeing the problem on?
master
Relevant code & log output
$ docker run -it --rm arkscript/stable:latest arkscript --help
Unable to find image 'arkscript/stable:latest' locally
latest: Pulling from arkscript/stable
Digest: sha256:567e937c22968fba6cf0985625d8c298ff2e3cc0599fce1db21ad50582f6fee2
Status: Downloaded newer image for arkscript/stable:latest
Error loading shared library libArkReactor.so: No such file or directory (needed by /usr/local/bin/arkscript)
Error relocating /usr/local/bin/arkscript: _ZN3Ark5StateC1EtRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark5State5resetEv: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark5State6doFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark2VM4initEv: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark5State8doStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark2VM7safeRunERNS_8internal16ExecutionContextEm: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark12JsonCompiler7compileB5cxx11Ev: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark2VMC1ERNS_5StateE: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark14BytecodeReader7displayENS_15BytecodeSegmentESt8optionalItES3_S3_: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark14BytecodeReader4feedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark2VM3runEv: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark5ValueC1ENS_9ValueTypeE: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark12JsonCompilerC1EjRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEt: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark5State8setDebugEj: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark5State7setArgsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE: symbol not found
Error relocating /usr/local/bin/arkscript: _ZN3Ark12JsonCompiler4feedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_: symbol not found
Documentation
- [X] I have read existing related documentation before submitting this report
- [X] I have searched for an existing issue before posting
I found an interesting data point. This seems to work:
$ docker run -it --rm --entrypoint="" arkscript/stable:latest sh
# export LD_LIBRARY_PATH=/usr/local/lib64
# arkscript --help
DESCRIPTION
ArkScript programming language
SYNOPSIS
...
Thanks for the bug report. That's... bad. I'll check how many images are affected this weekend, maybe alpine changed? Or they never worked. Or it just needs a tiny export like you did.
I can confirm this has been broken since February 2022, on both stable and nightly. I don't see any blatant changes in the Dockerfile ; having looked on the alpine docker image page, it appears the 3.12 tag has changed around April 2022, maybe the default directories in the path changed.
I'll continue to investigate.
Sorry it took so long to come back to you.
I think the easiest solution will be to add the path export, I'll test it this week for the future nightly images (I dont think I'll fix the old images, it's a lot of work for a very small return, I might just delete those and add a reason for it on the docker hub page(s)).