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

Can't make #60

Open
jnule1a opened this issue Jan 15, 2013 · 1 comment
Open

Can't make #60

jnule1a opened this issue Jan 15, 2013 · 1 comment

Comments

@jnule1a
Copy link

jnule1a commented Jan 15, 2013

I had difficulties to install netcore. Could you tell me what is wrong ? Thank you in advance.
Here is what happened:

  • Installation of the pre-built virtual machine is ok.
  • Installation of the finishing touches is ok up to before make.
  • make produces an error:
    cabal configure --enable-tests
    Warning: The package list for 'hackage.haskell.org' is 19 days old.
    Run 'cabal update' to get the latest list of available packages.
    Resolving dependencies...
    Configuring netcore-1.1.0...
    cabal: At least the following dependencies are missing:
    HList -any,
    HUnit -any,
    QuickCheck >=2,
    ansi-wl-pprint -any,
    bimap ==0.2.,
    binary-strict >=0.4.0,
    fgl -any,
    hslogger ==1.2.
    ,
    json >=0.4.3,
    syb ==0.3.,
    test-framework -any,
    test-framework-hunit -any,
    test-framework-quickcheck2 -any,
    test-framework-th -any
    make: *
    * [all] Error 1

I also tried unsuccessfully to use the stable version:

  • Installation of the pre-built virtual machine is ok.
  • Installation of the stable version and examples is ok.
  • But "sudo ./demo.py vagrant" displays the following:
    [INFO : 2013-01-15 10:45:59 EST : nettle] could not accept switch switch broke connection
    xterm -e "echo "Ping Connectivity over MAC Learning:"; echo "Ctrl+D to exit"; ping 10.0.0.2 -c 10; bash"
    [INFO : 2013-01-15 10:45:59 EST : ARP] Got new routing policy for ARP
    [INFO : 2013-01-15 10:46:00 EST : nettle] could not accept switch switch broke connection
    xterm -e "echo "ARP caching using MAC Learning for connectivity"; echo "Ctrl+D to exit"; echo "Unfortunately, arping doesn't work on mininet."; arp -n; echo "At first, ping uses regular ARP over the MAC learning:"; ping 10.0.0.2 -c 1; arp -n; echo "But if we clear the ARP table, we get a reply from the controller:"; arp -d 10.0.0.2; arp -n; ping 10.0.0.2 -c 1; bash"
    [INFO : 2013-01-15 10:46:00 EST : nettle] could not accept switch switch broke connection during handshake
    [INFO : 2013-01-15 10:46:00 EST : ARP] Got new routing policy for ARP
    [INFO : 2013-01-15 10:46:01 EST : nettle] could not accept switch switch broke connection
    xterm -e "echo "SSH Daemon on the other host"; echo "Ctrl+D to exit"; $(which sshd) -d; bash"
    xterm -e "echo "Pings get blocked when at high frequency,"; echo "Ctrl+D to exit"; echo "# ping 10.0.0.2-i 0.1 -c 50 -q"; ping 10.0.0.2 -i 0.1 -c 50 -q; echo "but SSH still works because it's on a different slice."; echo "(but do give it a moment...)"; echo "# ssh [email protected]"; ssh [email protected]; bash"
    [INFO : 2013-01-15 10:46:01 EST : nettle] could not accept switch switch broke connection during handshake
@cschlesi
Copy link
Member

Thanks for the report! There are really three issues here:

  1. The wiki instructions were missing a step.
  2. We use Cabal, not make, as a build system---the Makefile in the netcore directory is something of a red herring.
  3. demo.py is broken.

1

Some NetCore dependences rely on the Happy Haskell parser generator. This needs to be installed before you can build NetCore:

cabal install happy

NB: This should be pre-installed as part of the VM image, but it's not. Hopefully it will be in the future.

2

At this point, we rely on the Cabal build system rather than make (the Makefile was added at some point as a convenience, but it's not supported or recommended and should probably be removed). From the netcore directory, the command to build NetCore is:

cabal install --enable-tests

or:

cabal-dev install --enable-tests

to install in a sandbox in the current directory.

However, you may also want to build a controller instead of just the library. To build the example controller, navigate to netcore/examples directory and run the command:

cabal-dev install . ..

This will build a single controller binary that includes most of the examples. The executable will be located in netcore/examples/cabal-dev/bin/frenetic-example-suite. Running

frenetic-example-suite --repeater

will start a controller with a policy as stated in netcore/examples/Repeater.hs. You can run

frenetic-example-suite --help

for a list of all the available flags, and the file netcore/examples/Main.hs shows which module each flag invokes.

3

As for demo.py, it seems to have broken. I'll add a new report on that.

Cheers,
Cole

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

No branches or pull requests

2 participants