glondu / belenios

Verifiable online voting system. This is a mirror of https://gitlab.inria.fr/belenios/belenios
https://www.belenios.org
GNU Affero General Public License v3.0
133 stars 21 forks source link

problems with opam-bootstrap for version 1.9 and 1.10 under debian 10 #9

Closed laurent-henry closed 4 years ago

laurent-henry commented 4 years ago

hello, new to this software i followed the opam-bootstrap.sh procedure under a fresh new install of debian 10

belenios version 1.10 (and 1.9) failed at the last step in building dependencies. Trying older versions, belenios v1.8 seems to install well and i success in 'make all && make check'

In v1.10, the output is:

∗ installed base-bigarray.base
∗ installed base-threads.base
∗ installed base-unix.base
∗ installed ocaml-base-compiler.4.06.1
∗ installed ocaml-config.1
∗ installed ocaml.4.06.1
Done.
# Run eval $(opam env) to update the current shell environment

=-=-= Installation of Belenios build-dependencies =-=-=

The following dependencies couldn't be met:
  - eliom → js_of_ocaml-tyxml → tyxml >= 4.3
  - eliom → js_of_ocaml-tyxml → js_of_ocaml (>= 3.0 & != 3.3.0) → js_of_ocaml-compiler < 3.0.1 → ocaml < 4.06.0
      base of this switch (use `--unlock-base' to force)
  - eliom → ocsigenserver < 2.10 → tyxml < 4.3 → ocaml < 4.06.0
      base of this switch (use `--unlock-base' to force)
  - eliom → ocsigenserver < 2.10 → tyxml < 4.3 → ocamlnet = 3.6.0 → ocaml < 4.01.0
      base of this switch (use `--unlock-base' to force)
  - eliom → ocsigenserver < 2.10 → tyxml < 4.3 → uutf < 1.0.0 → ocaml < 4.06.0
      base of this switch (use `--unlock-base' to force)
  - eliom → ocsigenserver < 2.10 → react < 1.0.0 → ocaml < 4.06.0
      base of this switch (use `--unlock-base' to force)
  - eliom → ocsigenserver < 2.10 → lwt < 3.0.0 → ocaml < 4.06.0
      base of this switch (use `--unlock-base' to force)
  - eliom → tyxml >= 4.0.0 → uutf < 1.0.0 → ocaml < 4.06.0
      base of this switch (use `--unlock-base' to force)
  - eliom → tyxml >= 4.0.0 → ocaml < 4.06
      base of this switch (use `--unlock-base' to force)
Your request can't be satisfied:
  - No available version of js_of_ocaml satisfies the constraints
  - No available version of tyxml satisfies the constraints
No solution found, exiting

I tryed to downgrade ocaml version manually to adapt dependencies (ocaml version < 4.06.0 $opam switch create 4.05.0 and then replay the last install instruction from bootsrap without success

$opam install --yes dune=1.6.3 atdgen zarith cryptokit uuidm calendar cmdliner sqlite3 ssl=0.5.7 js_of_ocaml=3.3.0 eliom=6.3.0 csv

The following dependencies couldn't be met:
  - eliom → ocaml >= 4.03.0
      base of this switch (use `--unlock-base' to force)
No solution found, exiting

Then, trying (for fun, i don't think my way is orthodox) to downgrade again to get rid of dependecies $ opam switch create 4.03.0

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ocaml-base-compiler.4.03.0] downloaded from cache at https://opam.ocaml.org/cache

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
∗ installed base-bigarray.base
∗ installed base-threads.base
∗ installed base-unix.base
∗ installed ocaml-base-compiler.4.03.0
∗ installed ocaml-config.1
∗ installed ocaml.4.03.0
Done.
# Run eval $(opam env) to update the current shell environment

I really don't think, even i don't have anymore failure in dependency check, i am in a correct setup. Could you provide me clues to what could go wrong ?

Regards.

PS: By the way, after my last steps 'make all' fail

glondu commented 4 years ago

Yes, opam-bootstrap.sh worked at release time, but the evolution of opam-repository may make opam-bootstrap.sh fail at some point.

I recommend you to use the 1.10-updates branch or the master branch (which will soon be released as 1.11). In these branches, I pin a specific revision of opam-repository so that the problems you are facing should not happen any more.

laurent-henry commented 4 years ago

Thank you very much Stéphane. With this update branch install and compilations went well.

I would like to avoid be in a permanent rolling update cycle when i will be in production. i don't know if it makes sense and how you treat security patches because i still want to stay secure with belenios and its dependences and to stay on a stable functionnal version i tamed.

glondu commented 4 years ago

Don't you thinnk we could avoid this issue forcing the mandatory versions in opam.

Forcing a specific revision of opam-repository has the same effect.

For stabilty purpose, do you think it is better to stay on 1.10-updates or to move to 1.11 or other ?

The current master branch should be released as 1.11 in two days (next Monday), and put in production on belenios.loria.fr. Hence, I suggest you start directly with that.

laurent-henry commented 4 years ago

Thank you very much for your help and your work !