s3team / uroboros

Infrastructure for Reassembleable Disassembling and Transformation
190 stars 56 forks source link

building on debian 9 #1

Open ekg opened 7 years ago

ekg commented 7 years ago

I'm having some trouble pulling together the ocaml build chain that seems to be needed for this.

I've tried:

sudo apt install libderiving-ocaml libfindlib-ocaml libparmap-ocaml ocaml-batteries-included
./build

But I get an error on build:

+ ocamlfind ocamldep -package deriving,deriving.syntax -syntax camlp4o -package batteries,parmap -modules type.ml > type.ml.depends
ocamlfind: Package `deriving.syntax' not found
Command exited with code 2.
Compilation unsuccessful after building 1 target (0 cached) in 00:00:00.

What else should I get?

computereasy commented 7 years ago

Hello @ekg , could you try to install the required packages through opam?

Our experiment machine is not accessible at this moment, but the installation commands should be something like:

opam switch 4.01.0
opam install deriving 
...

Hope it helps!

cryptid11 commented 5 years ago
$ ./build 
+ ocamlfind -nodynlink -c -g -annot -bin-annot -thread -package deriving,deriving.syntax -syntax camlp4o -package batteries,parmap -I plugins -o type.cmx type.ml
Usage: ocamlfind query        [-help | other options] <package_name> ...
   or: ocamlfind ocamlc       [-help | other options] <file> ...
   or: ocamlfind ocamlcp      [-help | other options] <file> ...
   or: ocamlfind ocamlmklib   [-help | other options] <file> ...
   or: ocamlfind ocamlmktop   [-help | other options] <file> ...
   or: ocamlfind ocamlopt     [-help | other options] <file> ...
   or: ocamlfind ocamloptp    [-help | other options] <file> ...
   or: ocamlfind ocamldep     [-help | other options] <file> ...
   or: ocamlfind ocamlbrowser [-help | other options]
   or: ocamlfind ocamldoc     [-help | other options] <file> ...
   or: ocamlfind install      [-help | other options] <package_name> <file> ...
   or: ocamlfind remove       [-help | other options] <package_name>
   or: ocamlfind printppx     [-help | other options] <package_name> ...
   or: ocamlfind printconf    [-help] [variable]
   or: ocamlfind lint         [-help] <file>
   or: ocamlfind list
   or: ocamlfind pkg/cmd arg ...
Select toolchain with:
  ocamlfind -toolchain <t> <command>
Abbreviations:
  e.g. ocamlfind opt instead of ocamlfind ocamlopt
Command exited with code 2.
Compilation unsuccessful after building 3 targets (2 cached) in 00:00:00.

have installed all the dependencies but still I got that

nolanl commented 5 years ago

If it helps anyone, I was able to build on Debian 9 with the following dockerfile:

ROM debian:stretch

RUN    apt-get update \
    && apt-get install -y build-essential ca-certificates curl git \
               devscripts debhelper opam \
    && rm -rf /var/lib/apt/lists/*

RUN    cd /root \
    && yes | opam init \
    && opam switch 4.01.0
RUN eval `opam config env` \
    && opam install deriving ocamlfind parmap batteries ocamlbuild
#XXX specify exact package versions.

RUN    git clone https://github.com/s3team/uroboros \
    && eval `opam config env` \
    && cd /root/uroboros/src \
    && ./build

WORKDIR /root

CMD [ "/bin/bash" ]
cryptid11 commented 5 years ago

wow thanks, seems I was missing a lot of packages! incredible, I follow same procedure but with some missing debian packages...:/