Bugzilla – Bug 1540
waf not finding click libraries
Last modified: 2013-04-26 17:42:33 EDT
./bake.py -c ns-3-allinone ./bake.py install cd source/ns-3-dev ./waf configure --enable-examples --with-nsclick=../../build/lib fails. So does ./waf configure --enable-examples --with-nsclick=../click or use of absolute instead of relative path. However, if I cd to ../click and follow these instructions: http://www.read.cs.ucla.edu/click/nsclick I can get waf to find it the next time I try: ./waf configure --enable-examples --enable-tests --with-nsclick=../click Before closing this bug, I would like to suggest that the following sequence works: ./bake.py -c ns-3-allinone ./bake.py install cd source/ns-3-dev ./waf configure --enable-examples --enable-tests --with-nsclick=../../build/lib results in: NS-3 Click Integration : enabled
downgrading for post-release fix
(In reply to comment #0) > ./bake.py -c ns-3-allinone > ./bake.py install > > cd source/ns-3-dev > > ./waf configure --enable-examples --with-nsclick=../../build/lib > > fails. So does > > ./waf configure --enable-examples --with-nsclick=../click > > or use of absolute instead of relative path. > > However, if I cd to ../click and follow these instructions: > > http://www.read.cs.ucla.edu/click/nsclick > > I can get waf to find it the next time I try: > > ./waf configure --enable-examples --enable-tests --with-nsclick=../click > > Before closing this bug, I would like to suggest that the following sequence > works: > > ./bake.py -c ns-3-allinone > ./bake.py install > cd source/ns-3-dev > ./waf configure --enable-examples --enable-tests > --with-nsclick=../../build/lib > > results in: > NS-3 Click Integration : enabled Sorry I saw this late. So, if I understand correctly, the problem is with regards to waf auto-detecting the nsclick lib based on the path guess, right?
> > So, if I understand correctly, the problem is with regards to waf > auto-detecting the nsclick lib based on the path guess, right? I just looked at this again now. I'll change the title, it is more a waf issue. This works in the RC1 release candidate: ./waf configure --with-nsclick=../../build I had erroneously assumed that it needed to be ../../build/lib/ Mitch is planning to update the wscript to allow it to auto-find ../../build, if present. Separately, though, this does not work even after click has been built one-level up: ./waf configure --with-nsclick=../ns-click-3.17 which is how click is documented to work in the manual, currently.
I think the problem is with the version of click. I put an earlier version of click (click 1.7) in the same directory and the relative path to it worked: ./waf configure --enable-tests --enable-examples --with-nsclick=../click-1.7.0rc1
(In reply to comment #4) > I think the problem is with the version of click. > > I put an earlier version of click (click 1.7) in the same directory and the > relative path to it worked: > > ./waf configure --enable-tests --enable-examples > --with-nsclick=../click-1.7.0rc1 OK, that would explain it. I think we need to fix the --with-nsclick=../click behavior in the ns-3-dev/src/click/wscript for the current way that click is built. We need to be advising people to grab the latest click from git, now that ns-3's click requires their latest. e.g. this ought to work: cd ns-3-allinone git clone git://github.com/kohler/click.git cd click/ build it as instructed in the ns-3 manual cd ../ns-3-dev ./waf configure --with-nsclick=../click should work. Probably click is now putting its build objects somewhere else that we need to account for when peeking into its source/ directory.
> We need to be advising people to grab the latest click from git, now that > ns-3's click requires their latest. > > e.g. this ought to work: > > cd ns-3-allinone > git clone git://github.com/kohler/click.git > cd click/ > build it as instructed in the ns-3 manual > cd ../ns-3-dev > ./waf configure --with-nsclick=../click > > should work. Probably click is now putting its build objects somewhere else > that we need to account for when peeking into its source/ directory. Yes, this is the workflow that is typically used by ns-3-click users and it still happens to be working.
(In reply to comment #6) > > We need to be advising people to grab the latest click from git, now that > > ns-3's click requires their latest. > > > > e.g. this ought to work: > > > > cd ns-3-allinone > > git clone git://github.com/kohler/click.git > > cd click/ > > build it as instructed in the ns-3 manual > > cd ../ns-3-dev > > ./waf configure --with-nsclick=../click > > > > should work. Probably click is now putting its build objects somewhere else > > that we need to account for when peeking into its source/ directory. > > Yes, this is the workflow that is typically used by ns-3-click users and it > still happens to be working. That said, I'll push an update to the documentation to point users to the github repo.
(In reply to comment #7) > (In reply to comment #6) > > > We need to be advising people to grab the latest click from git, now that > > > ns-3's click requires their latest. > > > > > > e.g. this ought to work: > > > > > > cd ns-3-allinone > > > git clone git://github.com/kohler/click.git > > > cd click/ > > > build it as instructed in the ns-3 manual > > > cd ../ns-3-dev > > > ./waf configure --with-nsclick=../click > > > > > > should work. Probably click is now putting its build objects somewhere else > > > that we need to account for when peeking into its source/ directory. > > > > Yes, this is the workflow that is typically used by ns-3-click users and it > > still happens to be working. > > That said, I'll push an update to the documentation to point users to the > github repo. changeset: 9717:410a26f21852 tag: tip user: Lalith Suresh <suresh.lalith@gmail.com> date: Thu Apr 25 22:08:40 2013 +0200 summary: Update Click build instructions to point to Click github repository
works now