icarus-sim / icarus

A scalable simulator for evaluating the performance of in-network caches in Information Centric Networking (ICN)

Home Page:http://icarus-sim.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem during Installing icarus

ashimdey052 opened this issue · comments

After installing the latest version of networkx, error shows:

fnss 0.9.0 requires networkx<=2.4,>=2.0, but you'll have networkx 2.5 which is incompatible.
icarus 0.7.0 requires networkx<2.0,>=1.6, but you'll have networkx 2.5 which is incompatible.

If I install networkx==1.11 from make then it shows :

fnss 0.9.0 requires networkx<=2.4,>=2.0, but you'll have networkx 1.11 which is incompatible.

Need help badly :(

Hello,

If you install networkx==2.4 (which you can do running pip install networkx==2.4), that will meet all dependencies requirements.

If you need features that are only present in networkx 2.5, you can safely use it anyway with both fnss and icarus. The latest released version of fnss (0.9.0) should work fine with networkx 2.5 too, and in fact the version in fnss master branch, which is pretty much identical to 0.9.0, dropped the <=2.4 condition on networkx. So can either safely ignore those pip warnings or install fnss from its master branch.

Networkx 1.x is however actually incompatible with both fnss and icarus.

I am closing this issue for now, feel free to reopen it if you have any further issues.

Hello,
Thanks for replying. According to your instruction, I have installed networkx==2.4 and run "Make test". It results in 58 failed, 148 passed, 103 warnings in 8.30s
Have a look to my error messages https://gist.github.com/ashimdey052/7534b91a5c0520f80fc1629f08511442

You can also find the errors here : gistfile1.txt

Can you share how exactly did you install Icarus?

If you clone the repository from master and run make install and then make test do you still see the same errors?

Dr.lorenzosaino,
Thanks, As I am a newbie and learning git, I downloaded the .zip icarus and try to install it. It shows the early mentioned errors.
But after clone and make it works fine and no errors. 👍
Sir, I am working on my masters and trying to propose a new caching strategy or policy. What steps should I follow to modify the codes in icarus to propose the new one? It will be great if you also give me some instructions to plot graphs after creating the "results.pickel" file. I'm very sorry for my endless questions.

But after clone and make it works fine and no errors. 👍

Good to hear. I will make sure to cut a new release off the master branch so nobody else has the same problem. Thanks for reporting this.

What steps should I follow to modify the codes in icarus to propose the new one?

Unfortunately, there isn't a tutorial available for Icarus, but the code is well organized and well documented.
Here you can see all caching strategies implemented in Icarus (https://github.com/icarus-sim/icarus/tree/master/icarus/models/strategy) and here all cache replacement policies (https://github.com/icarus-sim/icarus/blob/master/icarus/models/cache/policies.py). All you have to do is to create a new strategy or policy that implements what you want to do, give it a new name and specify the name of the new policy you want to test in the configuration file. You could use the strategies already implemented as an example to start from.

It will be great if you also give me some instructions to plot graphs after creating the "results.pickel" file

Pickle is a format to persist Python objects in a file. The results.pickle file contains a Python object with all the results of a set of experiments. There are instructions in the README on how to convert the pickle file into a human-readable file: https://github.com/icarus-sim/icarus#usage. For plotting, I typically use Python's matplotlib library. There is some code showing how to plot graphs among the examples. See: https://github.com/icarus-sim/icarus/blob/master/examples/offpath-vs-onpath-caching/plotresults.py for example.

Hope this helps.