Does this still work?
983 opened this issue · comments
I tried to add WebAssembly, but I could not get the docker image to build.
On the first run, I got:
Step 7/109 : RUN curl -fsS https://dlang.org/install.sh | bash -s ldc
---> Running in eb55bdfecf13
main: line 178: USERPROFILE: unbound variable
The command '/bin/sh -c curl -fsS https://dlang.org/install.sh | bash -s ldc' returned a non-zero code: 1
On the second run, I uncommented most languages and got:
Step 13/25 : RUN DEBIAN_FRONTEND=noninteractive apt-get install -qq -y cython fp-compiler gfortran ocaml perl6 sbcl tcl guile-2.2 luajit
---> Running in eb2c7c851b44
E: Unable to locate package cython
E: Unable to locate package fp-compiler
E: Package 'gfortran' has no installation candidate
E: Unable to locate package ocaml
E: Unable to locate package perl6
E: Unable to locate package sbcl
E: Unable to locate package tcl
E: Unable to locate package guile-2.2
E: Couldn't find any package by glob 'guile-2.2'
E: Couldn't find any package by regex 'guile-2.2'
E: Unable to locate package luajit
The command '/bin/sh -c DEBIAN_FRONTEND=noninteractive apt-get install -qq -y cython fp-compiler gfortran ocaml perl6 sbcl tcl guile-2.2 luajit' returned a non-zero code: 10
I then commented all languages except ruby and node, but the result for my WebAssembly benchmark is 0.000 seconds when run.sh
is trying to execute it, no error messages given. It already fails to compile with wat2wasm fib.wat
. Both wat2wasm fib.wat
and node fib_wasm.js
run fine when executed by hand, i.e. not with run.sh
.
Any advice?
Here is the code to install wat2wasm
:
https://github.com/983/fib/blob/b850b849ed53d932adf6b7ed67c61b54ae9d6c77/Dockerfile#L106
Here is the code to compile and run the benchmark:
https://github.com/983/fib/blob/b850b849ed53d932adf6b7ed67c61b54ae9d6c77/run.sh#L52
Some miscelaneous notes:
- Is this asdf-vm thing worth it? There are a lot of warnings about gpg keys which could not be checked. I also tried installing ruby and node from binaries and got much faster docker build times.
- The path command can be split up by escaping the
$
sign with a backslash so more than one export can be declared without messing things up and the whole thing will become more modular.
I've updated language versions and cleaned up the docker image. It should build now. takes about 1hr on my laptop.