cornell-netlab / yates

YATES (Yet Another Traffic Engineering System)
https://cornell-netlab.github.io/yates/
Other
65 stars 20 forks source link

Problem with installation #3

Open generalizedeigenvector opened 1 year ago

generalizedeigenvector commented 1 year ago

I am trying to install YATES on an Ubuntu machine and I've followed the installation guide closely. At the very last stage, when running the make command I get a nasty error I don't quite know how to resolve:

time -p jbuilder build @install
File "_build/.digest-db", line 1, characters 31-31:
Error: s-expression followed by data
Command exited with non-zero status 1
real 0.01
user 0.01
sys 0.00
Makefile:4: recipe for target 'build' failed
make: *** [build] Error 1

The only vaguely relevant piece of information I managed to find is this: https://stackoverflow.com/a/36903522/1813736 - but I don't see how it helps.

The file _build/.digest-db seems to be binary so I am at a loss how to fix this.

Any suggestions will be highly appreciated.

jnfoster commented 1 year ago

Oops. This project uses an outdated build system. We need to port it to Dune. I'll work on that now.

jnfoster commented 1 year ago

I ported the build system to Dune and updated for modern versions of the Jane Street OCaml libraries.

Can you try again?

jnfoster commented 1 year ago

If you try

opam pin add yates https://github.com/cornell-netlab/yates.git

and then follow the prompts, it should work. Please let me know if you have issues with dependencies. It works on my system, but it is possible I missed some.

generalizedeigenvector commented 1 year ago

Thanks for getting back to me. It's still not quite working. I re-cloned the yates repo and when I try to run this line I get another error message:

The following dependencies couldn't be met:
  - yates ג†’ ocaml >= 4.12.0
      base of this switch (use `--unlock-base' to force)

[NOTE] Pinning command successful, but your installed packages may be out of
       sync.

I also tried to run this command which appears in the manual: dune external-lib-deps --missing @install and got another error message: dune: This subcommand is no longer implemented.

And I tried to simply run make again in the hope something would work but it claims that frenetic and other libraries are missing and says this in the end:

Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.

But when I run dune --version I get 3.6.1.

So now I am even more confused...

opam pin add yates https://github.com/cornell-netlab/yates.git
jnfoster commented 1 year ago

Sorry, I lost track of this. Would you be able to try with a more up-to-date base OCaml installation? To do this, you would issue the command

ocaml switch create 4.12.0

and follow prompts, and then try again.