-
Notifications
You must be signed in to change notification settings - Fork 282
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
Error when creating opam switch: signals_nat.c:194:13: error: variably modified ‘sig_alt_stack’ at file scope #4577
Comments
You can attempt to use a container with OCaml 4.10 meanwhile (there should be a script in xs-opam to create a docker package) |
I'm trying to get a working Docker image. The one in xs-opam/tools/Dockerfile gives this when I try to build it:
I tried to write my own, and this is what it looks like so far: FROM ocaml/opam:fedora-ocaml-4.10
RUN sudo yum update -y && sudo yum upgrade
# Setup build repo
RUN git clone https://github.com/xapi-project/xen-api
WORKDIR /home/opam/xen-api
# Setup the switch enviornment
RUN opam init --yes --shell-setup
RUN opam switch create ocaml-base-compiler.4.10.1 --yes
RUN eval $(opam env --switch=ocaml-base-compiler.4.10.1 --set-switch)
RUN opam repo add --all-switches xs-opam https://github.com/xapi-project/xs-opam.git
RUN opam repo remove --all default
# Install the packages
RUN eval $(opam env)
RUN opam pin --yes add . --no-action
RUN eval $(opam env)
RUN opam --yes depext --yes -u xs-toolstack
RUN eval $(opam env)
RUN opam install xs-toolstack --yes --deps-only --with-test -v
RUN eval $(opam env)
# Build everything
RUN ./configure
RUN make
RUN make test It fails on this line, reguardless if each of those commands are under a single RUN command, or spread out like above: RUN opam install xs-toolstack --yes --deps-only --with-test -v This is the error it's giving: The packages you requested declare the following system dependencies. Please make sure they are installed before retrying:
dlm-devel
# Run eval $(opam env) to update the current shell environment
The former state can be restored with:
opam switch import "/home/opam/.opam/ocaml-base-compiler.4.10.1/.opam-switch/backup/state-20211121060228.export"
'opam install xs-toolstack --yes --deps-only --with-test -v' failed.
The command '/bin/sh -c eval $(opam env) && opam pin --yes add . --no-action && eval $(opam env) && opam --yes depext --yes -u xs-toolstack && eval $(opam env) && opam install xs-toolstack --yes --deps-only --with-test -v && eval $(opam env)' returned a non-zero code: 31 But if I add |
When running:
The second command gives me the following output:
Tried with
--jobs=1
too, same result. Running on a fresh install ofFedora Workstation 35
.glibc version 2.34-8.fc35
.Looks like this is a problem with upstream glibc, and everything I can find says update ocaml to 4.13:
https://discuss.ocaml.org/t/ocaml-4-12-1-build-error-on-latest-ubuntu-21-10/8826
ocaml/ocaml#10250 (comment) (And the comment after this one).
There's a draft open, to push the fix back to older versions too, but it's not available yet:
ocaml/opam-repository#19855
If this is the cause of my error, is the best solution then to wait for this to get fixed upstream? And maybe pin glibc to the version before the breaking change, if I need to build this sooner?
The text was updated successfully, but these errors were encountered: