frenetic-lang / frenetic

The Frenetic Programming Language and Runtime System
http://www.frenetic-lang.org/
Other
223 stars 51 forks source link

NetKAT Program Compilation Error #526

Closed sushiljain1989 closed 7 years ago

sushiljain1989 commented 7 years ago

When I try to compile the Repeater program then it is not compiling successfully. Check out the screenshot. Any workaround for this ?

netkat - error

jnfoster commented 7 years ago

What does ocamlfind query ulex return?

It should look something like this:

$ ocamlfind query ulex

/home/vagrant/.opam/4.03.0/lib/ulex

-N

On Tue, Oct 25, 2016 at 3:55 AM, Sushil Jain notifications@github.com wrote:

When I try to compile the Repeater program then it is not compiling successfully. Check out the screenshot. Any workaround for this ?

[image: netkat - error] https://cloud.githubusercontent.com/assets/4305242/19683364/40031806-9ab2-11e6-9995-56a8176ebb00.png

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/frenetic-lang/frenetic/issues/526, or mute the thread https://github.com/notifications/unsubscribe-auth/ABwi0jxKHJvKkd4BDc8L_aLBHYQDb7I4ks5q3eAbgaJpZM4Kf1cW .

sushiljain1989 commented 7 years ago

I just did that and it returns me : /home/frenetic/.opam/system/lib/ulex

ulex

jnfoster commented 7 years ago

Assuming you are on the tutorial VM, does this command work?

ocamlbuild \
  -use-ocamlfind \
  -pkg core \
  -pkg async \
  -pkg frenetic \
  -pkg frenetic.async \
  -tag thread \
  -tag debug \
  -tag annot \
  -tag bin_annot \
  -tag short_paths \
  -cflags "-w,-40,-thread" \
  Repeater1.d.byte

?

I'm closing this issue as it's not really a Frenetic issue; it's an issue with the tutorials build scripts.

sushiljain1989 commented 7 years ago

It is giving me following output :

vagrant@frenetic:~/netkat-tutorial-solutions$ ocamlbuild -use-ocamlfind -pkg core -pkg async -pkg frenetic -pkg frenetic.async -tag thread -tag debug -tag annot -tag bin_annot -tag short_paths -cflags "-w,-40,-thread" Repeater1.d.byte

jnfoster commented 7 years ago

Okay. This is going to be hard to debug piecemeal. Could you either describe exactly which software you have installed on the VM, or else export the image somewhere and let me play with it?

-N

On Wed, Oct 26, 2016 at 10:58 PM, Sushil Jain notifications@github.com wrote:

It is giving me following output :

vagrant@frenetic:~/netkat-tutorial-solutions$ ocamlbuild -use-ocamlfind -pkg core -pkg async -pkg frenetic -pkg frenetic.async -tag thread -tag debug -tag annot -tag bin_annot -tag short_paths -cflags "-w,-40,-thread" Repeater1.d.byte

  • ocamlfind ocamldep -package frenetic.async -package frenetic -package async -package core -modules Repeater1.ml > Repeater1.ml.depends File "Repeater1.ml", line 7, characters 2-4: Error: Syntax error Command exited with code 2. Compilation unsuccessful after building 1 target (0 cached) in 00:00:00.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/frenetic-lang/frenetic/issues/526#issuecomment-256553578, or mute the thread https://github.com/notifications/unsubscribe-auth/ABwi0kxEOpeGbreHg2_nNoPu-h62Kpp_ks5q4D1xgaJpZM4Kf1cW .

sushiljain1989 commented 7 years ago

I will upload the VM and share it with you

sushiljain1989 commented 7 years ago

Hi @jnfoster

You can find the VM using the following link https://drive.google.com/open?id=0ByIGs2BOaWbibW15SDJkY2h1V0k

user: vagrant pass: vagrant

~Sushil

jnfoster commented 7 years ago

Hi Sushil,

Okay, I looked at the VM. Our old OCaml Tutorial scripts have bit rotted. In particular, Jane Street deprecated support for camlp4 syntax extensions in their core library. The solution is to port them to PPX (as described in #507) which I'll look into with @smolkaj.

But rather than trying to get ancient software running that we are not actively supporting, you might also want to try the software environment described in the newer Frenetic Programmer's guide:

https://github.com/frenetic-lang/manual/blob/master/programmers_guide/frenetic_programmers_guide.pdf

-N

sushiljain1989 commented 7 years ago

Hi Nate,

thanks for your reply. Actually, as a part of my master thesis, I have to work with different SDN languages & controller and NetKat is one of them. So it is kind of important for me to make it up and running.

Even for merlin, I need NetKat package. I have reported problem on its github page regarding package creation of netkat.

~Sushil

sushiljain1989 commented 7 years ago

sorry, I forgot to ask. Could you please tell me what this "ppx" is ? Pls share any link if you have any

jnfoster commented 7 years ago

PPX is a new framework for building syntax extensions in OCaml. Many projects are moving away from Camlp4.

jnfoster commented 7 years ago

The netkat, packet topology openflow etc. packages have been deprecated and replaced with frenetic.

Merlin builds successfully using the current frenetic master.

Alternatively, one could get snapshots of the deprecated repositories from ca. January 2015. Everything is in GitHub.