Skip to content
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

not available on armv7l/armhf #17

Closed
zapashcanon opened this issue Jan 13, 2025 · 0 comments · Fixed by #18
Closed

not available on armv7l/armhf #17

zapashcanon opened this issue Jan 13, 2025 · 0 comments · Fixed by #18

Comments

@zapashcanon
Copy link
Contributor

zapashcanon commented Jan 13, 2025

Hi,

I wanted to run an executable (a website made with drame) built on top of httpcats on a machine running an armv7l kernel but I got the error:

$ opam install . --deps-only
[...]
[ERROR] Package conflict!
  * Missing dependency:
    - deps-of-drame -> httpcats
    unmet availability conditions: 'arch != "x86_32" & arch != "arm32"'

I'm making this in issue in order to track why the library is not available on arm32.

Two things:

  • first, it seems the constraint has been added in 23450bb. I have been told it may was because of mirage-crypto, tls or x509;
  • then, I also found Tests don't work on x86_32 #9 which shows that the code may also not be working on 32bits anyway.

I tried to build it by hand to see what happen:

$ git clone https://github.com/robur-coop/httpcats.git
$ cd httpcats
$ opam install . --deps-only
[ERROR] Package conflict!
  * Missing dependency:
    - deps-of-httpcats -> tls-miou-unix >= 1.0.1 -> tls (= 1.0.0 | = 1.0.2 | >= 1.0.4)
    unmet availability conditions, e.g. 'arch != "arm32"'

Then:

$ git clone https://github.com/mirleft/ocaml-tls.git
$ cd ocaml-tls
$ opam install ./tls.opam --deps-only
...
Processing 74/77: [mirage-crypto-ec: dune build][1]    23987 killed     opam install ./tls.opam --deps-only

I'm currently investigating to provide more information.

So, compiling mirage-crypto-ec was reproductibly being OOM-killed (after a really long time!). But for some reason, build with dune install -p mirage-crypto-ec -j1 was successful (and fast).

I'm back at trying to install tls.

So, I managed to install all the dependencies by hand. I had to pass -j1 to dune directly otherwise the build was being killed because of OOM.

The website seems to be working just fine. So I guess the constraint has no reason to be there and can be removed? I tried to run the tests and they are also passing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

1 participant