Created
April 2, 2020 15:22
-
-
Save superherointj/d0d7fd6b4397e825eb66840af26bb18a to your computer and use it in GitHub Desktop.
Esy-Alpine
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM alpine as alpine-ocaml | |
RUN apk add --no-cache make gcc musl-dev libstdc++ ocaml opam yarn npm nodejs perl autoconf binutils alpine-sdk m4 build-base libtool automake git openssh | |
RUN mkdir /workdir | |
WORKDIR /workdir | |
# Build | |
FROM alpine-ocaml as esy-build | |
RUN git clone https://github.com/superherointj/esy-musl.git ./ | |
#RUN make bootstrap | |
#### Eduardo's solution! | |
RUN adduser -D -u 1000 esy-user | |
USER esy-user | |
ENV OPAMYES=true | |
RUN opam init --disable-sandboxing | |
RUN opam pin cmdliner https://github.com/esy-ocaml/cmdliner.git | |
RUN export PATH=/bin/core_perl:$PATH; \ | |
opam install dune reason lwt_ppx ppx_let ppx_deriving_yojson bos logs \ | |
re angstrom opam-format ppx_inline_test ppx_sexp_conv opam-state ppx_expect cudf dose3 | |
RUN mkdir ~/bootstrap | |
WORKDIR /home/esy-user/bootstrap | |
# https://github.com/esy/esy/pull/1000 | |
RUN git clone --single-branch --branch stream-based-copy-file https://github.com/ulrikstrid/esy.git | |
WORKDIR /home/esy-user/bootstrap/esy | |
RUN eval $(opam env); \ | |
dune build --profile=release; exit 0 | |
WORKDIR /home/esy-user/bootstrap | |
RUN git clone https://github.com/andreypopp/esy-solve-cudf.git | |
RUN opam install mccs | |
WORKDIR /home/esy-user/bootstrap/esy-solve-cudf | |
RUN eval $(opam env); \ | |
dune build --profile=release | |
RUN mkdir -p ../esy/_build/default/node_modules/esy-solve-cudf/ | |
RUN cp _build/default/bin/esySolveCudfCommand.exe ../esy/_build/default/node_modules/esy-solve-cudf/esySolveCudfCommand.exe | |
RUN ln -s /home/esy-user/bootstrap/esy/_build/default/bin/esy.exe ~/.opam/default/bin/esy | |
WORKDIR /home/esy-user | |
# https://github.com/esy/esy/pull/1000 | |
RUN git clone --single-branch --branch stream-based-copy-file https://github.com/ulrikstrid/esy.git | |
WORKDIR /home/esy-user/esy | |
# https://github.com/esy/esy/pull/1001 | |
RUN rm -rf esy.lock | |
# for some reason esy can't find the current path even if I use export on the same step | |
USER root | |
RUN ln -s /usr/bin/core_perl/* /bin | |
USER esy-user | |
RUN eval $(opam env); \ | |
export PATH=/bin/core_perl:$PATH; \ | |
esy; | |
# USER root | |
# RUN pacman -Sy --noconfirm nodejs npm yarn | |
# USER esy-user | |
RUN yarn | |
RUN eval $(opam env); \ | |
esy release:platform-release; \ | |
node scripts/create-release-package-json.js > _platformrelease/package.json; \ | |
cp ~/bootstrap/esy-solve-cudf/_build/default/bin/esySolveCudfCommand.exe ~/esy/node_modules/esy-solve-cudf/esySolveCudfCommand.exe; \ | |
ln -s /home/esy-user/esy/_platformrelease/_build/default/bin/esy.exe /home/esy-user/.yarn/bin/esy; \ | |
echo 'export PATH="$PATH:$(yarn global bin)"' >> ~/.bashrc | |
# esy should be running now | |
#### Testing | |
CMD bash -l | |
#### TEST IT!!!!! | |
# RUN ./_build/default/bin/esy.exe --version | |
### Copiar exclusivamente o binário do Esy | |
# FROM alpine as esy-runtime | |
# RUN mkdir /workdir | |
# WORKDIR /wordir | |
# COPY --from=esy-build /workdir/_build/default/bin/esy.exe /workdir | |
# RUN /workdir/esy.exe | |
### Workaround for: | |
## Step 7/7 : RUN make bootstrap | |
## make: esy: Command not found | |
## Makefile:59: *** "esy command is not avaialble, run 'npm install -g esy@0..x'". Stop. | |
## https://gist.github.com/EduardoRFS/4d30ef02edefc7e6c97892300bef05a2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sending build context to Docker daemon 738.2MB | |
Step 1/36 : FROM alpine as alpine-ocaml | |
---> a187dde48cd2 | |
Step 2/36 : RUN apk add --no-cache make gcc musl-dev libstdc++ ocaml opam yarn npm nodejs perl autoconf binutils alpine-sdk m4 build-base libtool automake git openssh | |
---> Running in 2ab672bb76b1 | |
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz | |
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz | |
(1/72) Installing fakeroot (1.24-r0) | |
(2/72) Installing sudo (1.8.31-r0) | |
(3/72) Installing libcap (2.27-r0) | |
(4/72) Installing pax-utils (1.2.4-r0) | |
(5/72) Installing openssl (1.1.1d-r3) | |
(6/72) Installing libattr (2.4.48-r0) | |
(7/72) Installing attr (2.4.48-r0) | |
(8/72) Installing libacl (2.2.53-r0) | |
(9/72) Installing tar (1.32-r1) | |
(10/72) Installing pkgconf (1.6.3-r0) | |
(11/72) Installing patch (2.7.6-r6) | |
(12/72) Installing libgcc (9.2.0-r4) | |
(13/72) Installing libstdc++ (9.2.0-r4) | |
(14/72) Installing lzip (1.21-r0) | |
(15/72) Installing ca-certificates (20191127-r1) | |
(16/72) Installing nghttp2-libs (1.40.0-r0) | |
(17/72) Installing libcurl (7.67.0-r0) | |
(18/72) Installing curl (7.67.0-r0) | |
(19/72) Installing abuild (3.5.0-r0) | |
Executing abuild-3.5.0-r0.pre-install | |
(20/72) Installing binutils (2.33.1-r0) | |
(21/72) Installing libmagic (5.37-r1) | |
(22/72) Installing file (5.37-r1) | |
(23/72) Installing gmp (6.1.2-r1) | |
(24/72) Installing isl (0.18-r0) | |
(25/72) Installing libgomp (9.2.0-r4) | |
(26/72) Installing libatomic (9.2.0-r4) | |
(27/72) Installing mpfr4 (4.0.2-r1) | |
(28/72) Installing mpc1 (1.1.0-r1) | |
(29/72) Installing gcc (9.2.0-r4) | |
(30/72) Installing musl-dev (1.1.24-r2) | |
(31/72) Installing libc-dev (0.7.2-r0) | |
(32/72) Installing g++ (9.2.0-r4) | |
(33/72) Installing make (4.2.1-r2) | |
(34/72) Installing fortify-headers (1.1-r0) | |
(35/72) Installing build-base (0.5-r1) | |
(36/72) Installing expat (2.2.9-r1) | |
(37/72) Installing pcre2 (10.34-r1) | |
(38/72) Installing git (2.24.1-r0) | |
(39/72) Installing alpine-sdk (1.0-r0) | |
(40/72) Installing m4 (1.4.18-r1) | |
(41/72) Installing libbz2 (1.0.8-r1) | |
(42/72) Installing perl (5.30.1-r0) | |
(43/72) Installing perl-error (0.17028-r0) | |
(44/72) Installing perl-git (2.24.1-r0) | |
(45/72) Installing git-perl (2.24.1-r0) | |
(46/72) Installing autoconf (2.69-r2) | |
(47/72) Installing automake (1.16.1-r0) | |
(48/72) Installing ncurses-terminfo-base (6.1_p20200118-r2) | |
(49/72) Installing ncurses-libs (6.1_p20200118-r2) | |
(50/72) Installing readline (8.0.1-r0) | |
(51/72) Installing bash (5.0.11-r1) | |
Executing bash-5.0.11-r1.post-install | |
(52/72) Installing libltdl (2.4.6-r7) | |
(53/72) Installing libtool (2.4.6-r7) | |
(54/72) Installing c-ares (1.15.0-r0) | |
(55/72) Installing libuv (1.34.0-r0) | |
(56/72) Installing nodejs (12.15.0-r1) | |
(57/72) Installing npm (12.15.0-r1) | |
(58/72) Installing ocaml-runtime (4.08.1-r1) | |
(59/72) Installing ocaml (4.08.1-r1) | |
(60/72) Installing unzip (6.0-r6) | |
(61/72) Installing popt (1.16-r7) | |
(62/72) Installing rsync (3.1.3-r2) | |
(63/72) Installing bubblewrap (0.4.0-r0) | |
(64/72) Installing opam (2.0.5-r1) | |
(65/72) Installing openssh-keygen (8.1_p1-r0) | |
(66/72) Installing libedit (20191211.3.1-r0) | |
(67/72) Installing openssh-client (8.1_p1-r0) | |
(68/72) Installing openssh-sftp-server (8.1_p1-r0) | |
(69/72) Installing openssh-server-common (8.1_p1-r0) | |
(70/72) Installing openssh-server (8.1_p1-r0) | |
(71/72) Installing openssh (8.1_p1-r0) | |
(72/72) Installing yarn (1.19.2-r0) | |
Executing busybox-1.31.1-r9.trigger | |
Executing ca-certificates-20191127-r1.trigger | |
OK: 415 MiB in 86 packages | |
Removing intermediate container 2ab672bb76b1 | |
---> 28bb29b65647 | |
Step 3/36 : RUN mkdir /workdir | |
---> Running in faa06f3c2666 | |
Removing intermediate container faa06f3c2666 | |
---> ed58da148d58 | |
Step 4/36 : WORKDIR /workdir | |
---> Running in 5517d1df1d3f | |
Removing intermediate container 5517d1df1d3f | |
---> 0356acffe8c7 | |
Step 5/36 : FROM alpine-ocaml as esy-build | |
---> 0356acffe8c7 | |
Step 6/36 : RUN git clone https://github.com/superherointj/esy-musl.git ./ | |
---> Running in 2d1366d1008d | |
[91mCloning into '.'... | |
[0mRemoving intermediate container 2d1366d1008d | |
---> 6052fb344635 | |
Step 7/36 : RUN adduser -D -u 1000 esy-user | |
---> Running in aa3fd21b2834 | |
Removing intermediate container aa3fd21b2834 | |
---> 952bd2636bd4 | |
Step 8/36 : USER esy-user | |
---> Running in 6524e19d5773 | |
Removing intermediate container 6524e19d5773 | |
---> 6d1f92dc25d8 | |
Step 9/36 : ENV OPAMYES=true | |
---> Running in 13cc52fa7f48 | |
Removing intermediate container 13cc52fa7f48 | |
---> 35a0b4def5ac | |
Step 10/36 : RUN opam init --disable-sandboxing | |
---> Running in 39b1157e3b74 | |
[91m[NOTE] Will configure from built-in defaults. | |
[0mChecking for available remotes: rsync and local, git. | |
- you won't be able to use mercurial repositories unless you install the hg command on your system. | |
- you won't be able to use darcs repositories unless you install the darcs command on your system. | |
<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><> | |
[default] Initialised | |
<><> Required setup - please read <><><><><><><><><><><><><><><><><><><><><><><> | |
In normal operation, opam only alters files within ~/.opam. | |
However, to best integrate with your system, some environment variables | |
should be set. If you allow it to, this initialisation step will update | |
your sh configuration by adding the following line to ~/.profile: | |
test -r /home/esy-user/.opam/opam-init/init.sh && . /home/esy-user/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true | |
Otherwise, every time you want to access your opam installation, you will | |
need to run: | |
eval $(opam env) | |
You can always re-run this setup with 'opam init' later. | |
Do you want opam to modify ~/.profile? [N/y/f] | |
(default is 'no', use 'f' to choose a different file) A hook can be added to opam's init scripts to ensure that the shell remains in sync with the opam environment when they are loaded. Set that up? [y/N] y | |
<><> Creating initial switch (ocaml-system>=4.02.3) <><><><><><><><><><><><><><> | |
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> | |
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> | |
-> installed base-bigarray.base | |
-> installed base-threads.base | |
-> installed base-unix.base | |
-> installed ocaml-system.4.08.1 | |
-> installed ocaml-config.1 | |
-> installed ocaml.4.08.1 | |
Done. | |
# Run eval $(opam env) to update the current shell environment | |
Removing intermediate container 39b1157e3b74 | |
---> 649199ed4f63 | |
Step 11/36 : RUN opam pin cmdliner https://github.com/esy-ocaml/cmdliner.git | |
---> Running in 4d2adc44822e | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4: git] | |
[cmdliner.1.0.4] synchronised from git+https://github.com/esy-ocaml/cmdliner.git | |
[91m[WARNING] Failed checks on cmdliner package definition from source at git+https://github.com/esy-ocaml/cmdliner.git: | |
error 57: Synopsis and description must not be both empty | |
[0mcmdliner is now pinned to git+https://github.com/esy-ocaml/cmdliner.git (version 1.0.4) | |
The following actions will be performed: | |
- install cmdliner 1.0.4* | |
[cmdliner.1.0.4] synchronised from git+https://github.com/esy-ocaml/cmdliner.git | |
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> | |
-> installed cmdliner.1.0.4 | |
Done. | |
# Run eval $(opam env) to update the current shell environment | |
Removing intermediate container 4d2adc44822e | |
---> 488645c07e18 | |
Step 12/36 : RUN export PATH=/bin/core_perl:$PATH; opam install dune reason lwt_ppx ppx_let ppx_deriving_yojson bos logs re angstrom opam-format ppx_inline_test ppx_sexp_conv opam-state ppx_expect cudf dose3 | |
---> Running in 9a4b00c01e42 | |
The following actions will be performed: | |
- install seq base [required by re] | |
- install conf-m4 1 [required by ocamlfind] | |
- install ocamlbuild 0.14.0 [required by dose3, bos, cudf, logs] | |
- install conf-perl 1 [required by cudf, dose3] | |
- install opam-file-format 2.0.0 [required by opam-format] | |
- install dune 2.4.0 | |
- install ocamlfind 1.8.1 [required by logs, bos, cudf, reason] | |
- install stdlib-shims 0.1.0 [required by fmt] | |
- install sexplib0 v0.13.0 [required by ppx_sexp_conv] | |
- install result 1.5 [required by ppx_deriving_yojson, angstrom, reason] | |
- install re 1.9.0 | |
- install ppx_tools 6.0+4.08.0 [required by ppx_deriving_yojson] | |
- install ppx_derivers 1.2.1 [required by ocaml-migrate-parsetree, ppx_deriving] | |
- install ocaml-compiler-libs v0.12.1 [required by ppxlib] | |
- install mmap 1.1.0 [required by lwt] | |
- install menhirSdk 20200211 [required by menhir] | |
- install menhirLib 20200211 [required by menhir] | |
- install fix 20200131 [required by reason] | |
- install easy-format 1.3.2 [required by yojson] | |
- install dune-private-libs 2.4.0 [required by dune-configurator] | |
- install cppo 1.6.6 [required by dose3, ppx_deriving_yojson] | |
- install bigarray-compat 1.0.0 [required by bigstringaf] | |
- install topkg 1.0.1 [required by bos, logs] | |
- install ocamlgraph 1.8.8 [required by dose3] | |
- install base-bytes base [required by astring, extlib] | |
- install ocaml-migrate-parsetree 1.6.0 [required by lwt_ppx, reason] | |
- install menhir 20200211 [required by reason] | |
- install biniou 1.2.1 [required by yojson] | |
- install dune-configurator 2.4.0 [required by lwt, base] | |
- install merlin-extend 0.5 [required by reason] | |
- install bigstringaf 0.6.1 [required by angstrom] | |
- install rresult 0.6.0 [required by bos] | |
- install fmt 0.8.8 [required by bos, logs] | |
- install opam-core 2.0.6 [required by opam-format] | |
- install ocplib-endian 1.0 [required by lwt] | |
- install extlib 1.7.6 [required by cudf, dose3] | |
- install astring 0.8.3 [required by bos] | |
- install ppxfind 1.4 [required by ppx_deriving_yojson] | |
- install ppx_tools_versioned 5.3.0 [required by lwt_ppx] | |
- install yojson 1.7.0 [required by ppx_deriving_yojson] | |
- install base v0.13.1 [required by ppx_let, ppx_expect, ppx_inline_test, ppx_sexp_conv] | |
- install reason 3.6.0 | |
- install angstrom 0.13.0 | |
- install opam-format 2.0.6 | |
- install lwt 5.2.0 [required by logs, lwt_ppx] | |
- install cudf 0.9-1 | |
- install fpath 0.7.2 [required by bos] | |
- install ppx_deriving 4.4.1 [required by ppx_deriving_yojson] | |
- install variantslib v0.13.0 [required by ppx_variants_conv] | |
- install stdio v0.13.0 [required by ppx_expect] | |
- install fieldslib v0.13.0 [required by ppx_fields_conv] | |
- install opam-repository 2.0.6 [required by opam-state] | |
- install lwt_ppx 2.0.1 | |
- install logs 0.7.0 | |
- install dose3 5.0.1 | |
- install ppx_deriving_yojson 3.5.2 | |
- install ppxlib 0.12.0 [required by ppx_let, ppx_expect, ppx_inline_test, ppx_sexp_conv] | |
- install opam-state 2.0.6 | |
- install bos 0.2.0 | |
- install ppx_variants_conv v0.13.0 [required by ppx_expect] | |
- install ppx_sexp_conv v0.13.0 | |
- install ppx_let v0.13.0 | |
- install ppx_inline_test v0.13.1 | |
- install ppx_here v0.13.0 [required by ppx_expect] | |
- install ppx_fields_conv v0.13.0 [required by ppx_expect] | |
- install ppx_compare v0.13.0 [required by ppx_expect] | |
- install ppx_cold v0.13.0 [required by ppx_assert] | |
- install ppx_custom_printf v0.13.0 [required by ppx_expect] | |
- install ppx_assert v0.13.0 [required by ppx_expect] | |
- install ppx_expect v0.13.0 | |
===== 70 to install ===== | |
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> | |
[astring.0.8.3] downloaded from cache at https://opam.ocaml.org/cache | |
[angstrom.0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[base.v0.13.1] downloaded from cache at https://opam.ocaml.org/cache | |
[bigarray-compat.1.0.0] downloaded from cache at https://opam.ocaml.org/cache | |
[bigstringaf.0.6.1] downloaded from cache at https://opam.ocaml.org/cache | |
[biniou.1.2.1] downloaded from cache at https://opam.ocaml.org/cache | |
[bos.0.2.0] downloaded from cache at https://opam.ocaml.org/cache | |
[cppo.1.6.6] downloaded from cache at https://opam.ocaml.org/cache | |
[cudf.0.9-1] downloaded from cache at https://opam.ocaml.org/cache | |
[dose3.5.0.1] downloaded from cache at https://opam.ocaml.org/cache | |
[dune.2.4.0] downloaded from cache at https://opam.ocaml.org/cache | |
[easy-format.1.3.2] downloaded from cache at https://opam.ocaml.org/cache | |
[dune-private-libs.2.4.0] downloaded from cache at https://opam.ocaml.org/cache | |
[extlib.1.7.6] downloaded from cache at https://opam.ocaml.org/cache | |
[fieldslib.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[fmt.0.8.8] downloaded from cache at https://opam.ocaml.org/cache | |
[fix.20200131] downloaded from cache at https://opam.ocaml.org/cache | |
[dune-configurator.2.4.0] downloaded from cache at https://opam.ocaml.org/cache | |
[fpath.0.7.2] downloaded from cache at https://opam.ocaml.org/cache | |
[logs.0.7.0] downloaded from cache at https://opam.ocaml.org/cache | |
[lwt.5.2.0] downloaded from cache at https://opam.ocaml.org/cache | |
[lwt_ppx.2.0.1] downloaded from cache at https://opam.ocaml.org/cache | |
[menhir.20200211] downloaded from cache at https://opam.ocaml.org/cache | |
[merlin-extend.0.5] downloaded from cache at https://opam.ocaml.org/cache | |
[mmap.1.1.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ocaml-compiler-libs.v0.12.1] downloaded from cache at https://opam.ocaml.org/cache | |
[ocaml-migrate-parsetree.1.6.0] downloaded from cache at https://opam.ocaml.org/cache | |
[menhirSdk.20200211] downloaded from cache at https://opam.ocaml.org/cache | |
[ocamlbuild.0.14.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ocamlfind.1.8.1] downloaded from cache at https://opam.ocaml.org/cache | |
[ocplib-endian.1.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ocamlgraph.1.8.8] downloaded from cache at https://opam.ocaml.org/cache | |
[opam-file-format.2.0.0] downloaded from cache at https://opam.ocaml.org/cache | |
[menhirLib.20200211] downloaded from cache at https://opam.ocaml.org/cache | |
[opam-core.2.0.6] downloaded from cache at https://opam.ocaml.org/cache | |
[opam-state.2.0.6] found in cache | |
[ppx_assert.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_cold.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[opam-format.2.0.6] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_compare.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_custom_printf.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_derivers.1.2.1] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_deriving.4.4.1] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_deriving_yojson.3.5.2] downloaded from cache at https://opam.ocaml.org/cache | |
[opam-repository.2.0.6] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_fields_conv.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_expect.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_here.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_let.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_inline_test.v0.13.1] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_sexp_conv.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_tools.6.0+4.08.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_tools_versioned.5.3.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppx_variants_conv.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[ppxfind.1.4] downloaded from cache at https://opam.ocaml.org/cache | |
[ppxlib.0.12.0] downloaded from cache at https://opam.ocaml.org/cache | |
[re.1.9.0] downloaded from cache at https://opam.ocaml.org/cache | |
[result.1.5] downloaded from cache at https://opam.ocaml.org/cache | |
[rresult.0.6.0] downloaded from cache at https://opam.ocaml.org/cache | |
[reason.3.6.0] downloaded from cache at https://opam.ocaml.org/cache | |
[sexplib0.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[stdio.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[stdlib-shims.0.1.0] downloaded from cache at https://opam.ocaml.org/cache | |
[variantslib.v0.13.0] downloaded from cache at https://opam.ocaml.org/cache | |
[topkg.1.0.1] downloaded from cache at https://opam.ocaml.org/cache | |
[yojson.1.7.0] downloaded from cache at https://opam.ocaml.org/cache | |
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> | |
-> installed seq.base | |
-> installed conf-m4.1 | |
-> installed conf-perl.1 | |
-> installed opam-file-format.2.0.0 | |
[91m[ERROR] The compilation of ocamlfind failed at "/usr/bin/make all". | |
[0m-> installed ocamlbuild.0.14.0 | |
-> installed dune.2.4.0 | |
[91m[ERROR] The compilation of bigarray-compat failed at "/home/esy-user/.opam/default/bin/dune build -p bigarray-compat -j 15". | |
[0m-> installed easy-format.1.3.2 | |
-> installed cppo.1.6.6 | |
-> installed fix.20200131 | |
-> installed menhirLib.20200211 | |
-> installed menhirSdk.20200211 | |
-> installed mmap.1.1.0 | |
[91m[ERROR] The compilation of ocaml-compiler-libs failed at "/home/esy-user/.opam/default/bin/dune build -p ocaml-compiler-libs -j 15". | |
[0m-> installed ppx_derivers.1.2.1 | |
-> installed dune-private-libs.2.4.0 | |
[91m[ERROR] The compilation of ppx_tools failed at "/home/esy-user/.opam/default/bin/dune build -p ppx_tools -j 15". | |
[0m-> installed re.1.9.0 | |
-> installed result.1.5 | |
-> installed sexplib0.v0.13.0 | |
[91m[ERROR] The compilation of stdlib-shims failed at "/home/esy-user/.opam/default/bin/dune build -p stdlib-shims -j 15". | |
[0m-> installed biniou.1.2.1 | |
[91m[ERROR] The compilation of merlin-extend failed at "/home/esy-user/.opam/default/bin/dune build -p merlin-extend -j 15". | |
[0m-> installed menhir.20200211 | |
-> installed dune-configurator.2.4.0 | |
[91m[ERROR] The compilation of ocaml-migrate-parsetree failed at "/home/esy-user/.opam/default/bin/dune build -p ocaml-migrate-parsetree -j 15". | |
[0m-> installed yojson.1.7.0 | |
[91m[ERROR] The compilation of base failed at "/home/esy-user/.opam/default/bin/dune build -p base -j 15". | |
[0m[91m | |
#=== ERROR while compiling stdlib-shims.0.1.0 =================================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/stdlib-shims.0.1.0 | |
# command ~/.opam/default/bin/dune build -p stdlib-shims -j 15 | |
# exit-code 1 | |
# env-file ~/.opam/log/stdlib-shims-1-b8942e.env | |
# output-file ~/.opam/log/stdlib-shims-1-b8942e.out | |
### output ### | |
# ocaml (internal) (exit 2) | |
# (cd src && /usr/bin/ocaml -I +compiler-libs /home/esy-user/.opam/default/.opam-switch/build/stdlib-shims.0.1.0/_build/.dune/default/src/dune.ml) | |
# File "/home/esy-user/.opam/default/.opam-switch/build/stdlib-shims.0.1.0/_build/.dune/default/src/dune.ml", line 27, characters 14-37: | |
# 27 | Hashtbl.add Toploop.directive_table "require" | |
# ^^^^^^^^^^^^^^^^^^^^^^^ | |
# Error: Unbound module Toploop | |
#=== ERROR while compiling ppx_tools.6.0+4.08.0 ===============================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/ppx_tools.6.0+4.08.0 | |
# command ~/.opam/default/bin/dune build -p ppx_tools -j 15 | |
# exit-code 1 | |
# env-file ~/.opam/log/ppx_tools-1-756954.env | |
# output-file ~/.opam/log/ppx_tools-1-756954.out | |
### output ### | |
# [...] | |
# File "dune", line 27, characters 33-55: | |
# 27 | (libraries compiler-libs.common compiler-libs.bytecomp ast_lifter)) | |
# ^^^^^^^^^^^^^^^^^^^^^^ | |
# Error: Library "compiler-libs.bytecomp" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: dune external-lib-deps --missing -p ppx_tools -j 15 @install | |
# File "dune", line 37, characters 12-32: | |
# 37 | (libraries compiler-libs.common)) | |
# ^^^^^^^^^^^^^^^^^^^^ | |
# Error: Library "compiler-libs.common" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: dune external-lib-deps --missing -p ppx_tools -j 15 @install | |
[0m[91m | |
#=== ERROR while compiling ocamlfind.1.8.1 ====================================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/ocamlfind.1.8.1 | |
# command /usr/bin/make all | |
# exit-code 2 | |
# env-file ~/.opam/log/ocamlfind-1-585bf6.env | |
# output-file ~/.opam/log/ocamlfind-1-585bf6.out | |
### output ### | |
# [...] | |
# Use Bytes.create instead. | |
# ocamlc -I +compiler-libs -o ocamlfind -g findlib.cma unix.cma \ | |
# ocaml_args.cmo frontend.cmo | |
# ocamlc -I +compiler-libs -opaque -c topfind.mli | |
# ocamlc -I +compiler-libs -opaque -g -c topfind.ml | |
# File "topfind.ml", line 55, characters 12-41: | |
# 55 | let ph = !Toploop.parse_toplevel_phrase l in | |
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
# Error: Unbound module Toploop | |
# make[1]: *** [Makefile:165: topfind.cmo] Error 2 | |
# make[1]: Leaving directory '/home/esy-user/.opam/default/.opam-switch/build/ocamlfind.1.8.1/src/findlib' | |
# make: *** [Makefile:13: all] Error 2 | |
#=== ERROR while compiling ocaml-migrate-parsetree.1.6.0 ======================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/ocaml-migrate-parsetree.1.6.0 | |
# command ~/.opam/default/bin/dune build -p ocaml-migrate-parsetree -j 15 | |
# exit-code 1 | |
# env-file ~/.opam/log/ocaml-migrate-parsetree-1-f26b26.env | |
# output-file ~/.opam/log/ocaml-migrate-parsetree-1-f26b26.out | |
### output ### | |
# 6 | (libraries compiler-libs.common result ppx_derivers) | |
# [...] | |
# Error: Library "compiler-libs.common" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: | |
# dune external-lib-deps --missing -p ocaml-migrate-parsetree -j 15 @install | |
# File "tools/dune", line 3, characters 33-55: | |
# 3 | (libraries compiler-libs.common compiler-libs.bytecomp)) | |
# ^^^^^^^^^^^^^^^^^^^^^^ | |
# Error: Library "compiler-libs.bytecomp" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: | |
# dune external-lib-deps --missing -p ocaml-migrate-parsetree -j 15 @install | |
[0m[91m | |
#=== ERROR while compiling ocaml-compiler-libs.v0.12.1 ========================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/ocaml-compiler-libs.v0.12.1 | |
# command ~/.opam/default/bin/dune build -p ocaml-compiler-libs -j 15 | |
# exit-code 1 | |
# env-file ~/.opam/log/ocaml-compiler-libs-1-f1b05e.env | |
# output-file ~/.opam/log/ocaml-compiler-libs-1-f1b05e.out | |
### output ### | |
# 5 | (libraries compiler-libs.bytecomp) | |
# [...] | |
# Error: Library "compiler-libs.bytecomp" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: | |
# dune external-lib-deps --missing -p ocaml-compiler-libs -j 15 @install | |
# File "src/read_cma/dune", line 4, characters 33-55: | |
# 4 | (libraries compiler-libs.common compiler-libs.bytecomp) | |
# ^^^^^^^^^^^^^^^^^^^^^^ | |
# Error: Library "compiler-libs.bytecomp" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: | |
# dune external-lib-deps --missing -p ocaml-compiler-libs -j 15 @install | |
#=== ERROR while compiling merlin-extend.0.5 ==================================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/merlin-extend.0.5 | |
# command ~/.opam/default/bin/dune build -p merlin-extend -j 15 | |
# exit-code 1 | |
# env-file ~/.opam/log/merlin-extend-1-fa35e0.env | |
# output-file ~/.opam/log/merlin-extend-1-fa35e0.out | |
### output ### | |
# ocamlc .merlin_extend.objs/byte/extend_protocol.{cmi,cmo,cmt} (exit 2) | |
# (cd _build/default && /usr/bin/ocamlc.opt -w -40 -w -50 -g -bin-annot -I .merlin_extend.objs/byte -I /usr/lib/ocaml/compiler-libs -no-alias-deps -o .merlin_extend.objs/byte/extend_protocol.cmo -c -impl extend_protocol.ml) | |
# File "extend_protocol.ml", line 23, characters 19-38: | |
# 23 | Structure of Parsetree.structure | |
# ^^^^^^^^^^^^^^^^^^^ | |
# Error: Unbound module Parsetree | |
[0m[91m | |
#=== ERROR while compiling bigarray-compat.1.0.0 ==============================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/bigarray-compat.1.0.0 | |
# command ~/.opam/default/bin/dune build -p bigarray-compat -j 15 | |
# exit-code 1 | |
# env-file ~/.opam/log/bigarray-compat-1-e86963.env | |
# output-file ~/.opam/log/bigarray-compat-1-e86963.out | |
### output ### | |
# ocaml (internal) (exit 2) | |
# (cd src && /usr/bin/ocaml -I +compiler-libs /home/esy-user/.opam/default/.opam-switch/build/bigarray-compat.1.0.0/_build/.dune/default/src/dune.ml) | |
# File "/home/esy-user/.opam/default/.opam-switch/build/bigarray-compat.1.0.0/_build/.dune/default/src/dune.ml", line 27, characters 14-37: | |
# 27 | Hashtbl.add Toploop.directive_table "require" | |
# ^^^^^^^^^^^^^^^^^^^^^^^ | |
# Error: Unbound module Toploop | |
[0m[91m | |
#=== ERROR while compiling base.v0.13.1 =======================================# | |
# context 2.0.5 | linux/x86_64 | ocaml-system.4.08.1 | https://opam.ocaml.org#0aa6f7d4 | |
# path ~/.opam/default/.opam-switch/build/base.v0.13.1 | |
# command ~/.opam/default/bin/dune build -p base -j 15 | |
# exit-code 1 | |
# env-file ~/.opam/log/base-1-886cd2.env | |
# output-file ~/.opam/log/base-1-886cd2.out | |
### output ### | |
# [...] | |
# File "compiler-stdlib/gen/dune", line 2, characters 33-55: | |
# 2 | (libraries compiler-libs.common compiler-libs.bytecomp) | |
# ^^^^^^^^^^^^^^^^^^^^^^ | |
# Error: Library "compiler-libs.bytecomp" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: dune external-lib-deps --missing -p base -j 15 @install | |
# File "shadow-stdlib/gen/dune", line 1, characters 40-60: | |
# 1 | (executables (names gen) (libraries str compiler-libs.common caml) | |
# ^^^^^^^^^^^^^^^^^^^^ | |
# Error: Library "compiler-libs.common" in /usr/lib/ocaml/compiler-libs is | |
# hidden (unsatisfied 'exist_if'). | |
# Hint: try: dune external-lib-deps --missing -p base -j 15 @install | |
[0m | |
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> | |
+- The following actions failed | |
| - build base v0.13.1 | |
| - build bigarray-compat 1.0.0 | |
| - build merlin-extend 0.5 | |
| - build ocaml-compiler-libs v0.12.1 | |
| - build ocaml-migrate-parsetree 1.6.0 | |
| - build ocamlfind 1.8.1 | |
| - build ppx_tools 6.0+4.08.0 | |
| - build stdlib-shims 0.1.0 | |
+- | |
+- The following changes have been performed (the rest was aborted) | |
| - install biniou 1.2.1 | |
| - install conf-m4 1 | |
| - install conf-perl 1 | |
| - install cppo 1.6.6 | |
| - install dune 2.4.0 | |
| - install dune-configurator 2.4.0 | |
| - install dune-private-libs 2.4.0 | |
| - install easy-format 1.3.2 | |
| - install fix 20200131 | |
| - install menhir 20200211 | |
| - install menhirLib 20200211 | |
| - install menhirSdk 20200211 | |
| - install mmap 1.1.0 | |
| - install ocamlbuild 0.14.0 | |
| - install opam-file-format 2.0.0 | |
| - install ppx_derivers 1.2.1 | |
| - install re 1.9.0 | |
| - install result 1.5 | |
| - install seq base | |
| - install sexplib0 v0.13.0 | |
| - install yojson 1.7.0 | |
+- | |
# Run eval $(opam env) to update the current shell environment | |
[91m | |
The former state can be restored with: | |
opam switch import "/home/esy-user/.opam/default/.opam-switch/backup/state-20200402151856.export" | |
[0m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Como estou executando o Dockerfile e saída stderr. | |
2700x-PC intj ~/git/esy-musl (master) $ docker build --no-cache -t esyalpine . > esyalpine-error.log | |
The command '/bin/sh -c export PATH=/bin/core_perl:$PATH; opam install dune reason lwt_ppx ppx_let ppx_deriving_yojson bos logs re angstrom opam-format ppx_inline_test ppx_sexp_conv opam-state ppx_expect cudf dose3' returned a non-zero code: 31 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment