Can't install `re2` package

Hi, everybody!

I have a problem with opam on my Raspberry Pi 4, for some reason it cannot find appropriate re2 package, even after opam init :confused:

$ opam install re2
Sorry, no solution found: there seems to be a problem with your request.

No solution found, exiting

Although I do have information on this package. In the output, actually, all the versions after 113.x are stroke through, but I cannot show this in the code block below. I suppose it means that those version aren’t available for the system, but I don’t understand why… Maybe it has some relation to ARM.

$ opam info re2

<><> re2: information on all versions <><><><><><><><><><><><><><><><><><><><><>
name         re2
all-versions 109.24.00  109.24.01  109.28.00  109.32.00  109.40.00  109.45.00  109.45.01  109.45.02  109.53.00  109.55.00  109.55.02  109.55.03  109.55.04  111.03.00  111.03.01  111.06.00
             111.08.00  112.06.00  112.35.00  113.00.00  113.24.00  113.33.00  113.33.00+4.03  113.33.03  -v0.9.0-  -v0.9.1-  -v0.10.0-  -v0.10.1-  -v0.11.0-  -v0.12.0-  -v0.12.1-  -v0.13.0-  -v0.14.0-

<><> Version-specific details <><><><><><><><><><><><><><><><><><><><><><><><><>
version       113.33.03
repository    default
url.src:      "https://ocaml.janestreet.com/ocaml-core/113.33/files/re2-113.33.03.tar.gz"
url.checksum: "md5=6d23b0dcb9e72f197fe22eef65204f44"
homepage:     "https://github.com/janestreet/re2"
bug-reports:  "https://github.com/janestreet/re2/issues"
dev-repo:     "git+https://github.com/janestreet/re2.git"
authors:      "Jane Street Group, LLC"
maintainer:   "Jane Street developers"
license:      "Apache-2.0"
depends:      "ocaml" {= "4.02.3"}
              "ocamlbuild" {build}
              "ocamlfind" {build & >= "1.3.2"}
              "bin_prot" {>= "113.33.03" & < "113.34.00"}
              "core_kernel" {>= "113.33.03" & < "113.34.00"}
              "fieldslib" {>= "113.33.03" & < "113.34.00"}
              "js-build-tools" {build & >= "113.33.04" & < "113.34.00"}
              "ppx_assert" {>= "113.33.03" & < "113.34.00"}
              "ppx_bench" {>= "113.33.03" & < "113.34.00"}
              "ppx_driver" {>= "113.33.03" & < "113.34.00"}
              "ppx_expect" {>= "113.33.03" & < "113.34.00"}
              "ppx_inline_test" {>= "113.33.03" & < "113.34.00"}
              "ppx_jane" {>= "113.33.03" & < "113.34.00"}
              "sexplib" {>= "113.33.03" & < "113.34.00"}
              "typerep" {>= "113.33.03" & < "113.34.00"}
              "variantslib" {>= "113.33.03" & < "113.34.00"}
synopsis      OCaml bindings for RE2, Google's regular expression library

$ ocamlc -version
4.11.1

Please help :pray:

What version of opam do you have?

$ opam --version
2.0.8

Could you try with the latest version? (currently 2.1.2)

bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)"

Same problem, but now at least I see why this happens – no support for ARM :frowning:

$ opam --version
2.1.2
$ opam install re2
[ERROR] Package conflict!
  * No agreement on the version of ocaml:
    - (invariant) β†’ ocaml >= 4.05.0
    You can temporarily relax the switch invariant with `--update-invariant'
  * No agreement on the version of ocaml:
    - (invariant) β†’ ocaml >= 4.05.0
  * No agreement on the version of ocaml:
    - (invariant) β†’ ocaml >= 4.05.0
    - re2 β†’ ocaml < 4.03
  * No agreement on the version of ocaml:
    - (invariant) β†’ ocaml >= 4.05.0
    - re2 β†’ ocaml >= 4.00.0
  * No agreement on the version of core:
    - re2 β†’ core
    - re2 β†’ core = 111.06.00
  * No agreement on the version of pa%5founit:
    - re2 β†’ pa_ounit
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler < 3.07+1 | ocaml-system < 3.07+1 | ocaml-variants < 3.8~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions: 'sys-ocaml-version = "3.07"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.07+1 | ocaml-system = 3.07+1 | ocaml-variants < 3.8~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions: 'sys-ocaml-version = "3.07+1"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.07+2 | ocaml-system = 3.07+2 | ocaml-variants < 3.8~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions: 'sys-ocaml-version = "3.07+2"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.08.0 | ocaml-system < 3.08.1~ | ocaml-variants < 3.08.1~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.0"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.08.1 | ocaml-system < 3.08.2~ | ocaml-variants < 3.08.2~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.1"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.08.2 | ocaml-system < 3.08.3~ | ocaml-variants < 3.08.3~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.2"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.08.3 | ocaml-system < 3.08.4~ | ocaml-variants < 3.08.4~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.3"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.08.4 | ocaml-system < 3.08.5~ | ocaml-variants < 3.08.5~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.4"'
    no matching version
  * Missing dependency:
    - re2 β†’ ocaml < 4.03 β†’ ocaml-base-compiler = 3.09.0 | ocaml-system < 3.09.1~ | ocaml-variants < 3.09.1~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.09.0"'
    no matching version

No solution found, exiting