Unable to build ns3-dce with waf

1,070 views
Skip to first unread message

HA

unread,
Jun 30, 2015, 8:10:03 PM6/30/15
to ns-3-...@googlegroups.com
Hi,

I am trying to build ns3-dce using waf. However, I am getting error when I am passing configuration parameters for waf inside ns3-dce. The error is related to setting ns3 core directory. Here are the steps I have followed to build with waf:

1. Download pybindgen (optional)

bzr clone https://launchpad.net/pybindgen
cd pybindgen

./waf configure --prefix=$HOME/workspace/build
./waf
./waf install

2. Download ns-3.23 and build it in optimized mode

hg clone http://code.nsnam.org/ns-3.23
./waf configure --disable-examples -d optimized --prefix=$HOME/workspace/build --includedir=$HOME/workspace/include/
./waf build
./waf install

3. Clone net-next-sim using 3.14 branch and enable MPTCP

git clone https://github.com/thehajime/net-next-sim.git
cd net
-next-sim
git checkout sim
-ns3-3.14.0-branch

cat
>> arch/sim/defconfig <<END

CONFIG_MPTCP
=y
CONFIG_MPTCP_PM_ADVANCED
=y
CONFIG_MPTCP_FULLMESH
=y
CONFIG_MPTCP_NDIFFPORTS
=y
CONFIG_DEFAULT_FULLMESH
=y
CONFIG_DEFAULT_MPTCP_PM
="fullmesh"
CONFIG_TCP_CONG_COUPLED
=y
CONFIG_TCP_CONG_OLIA
=y

END

make defconfig OPT
=yes ARCH=sim
make library OPT
=yes ARCH=sim

4. Download, configure, build and install DCE 1.6

hg clone http://code.nsnam.org/ns-3-dce -r dce-1.6
./waf configure --with-ns3=$HOME/workspace/build --enable-opt --enable-kernel-stack=$HOME/workspace/net-next-sim/arch --prefix=$HOME/workspace/build
./waf build
./waf install

The error happens when I type the waf configure command for DCE. Here is the reported error:

Checking for ns3-core (None)               : not found
The configuration failed
(complete log in /home/ha/workspace/ns-3-dce/build/config.log)

This is the output of the config.log file:

Checking for pkg-config version >= '0.0.0'
['/usr/bin/pkg-config', '--atleast-pkgconfig-version=0.0.0']
yes
------------------------------------------
Checking for -Wl,--soname=foo
==>
#include <stdio.h>
int main() { return 0; }

<==
[1/2] [32mc: build/.conf_check_0c2b10ba6878dc866144bf5ea8a6b94b/test.c -> build/.conf_check_0c2b10ba6878dc866144bf5ea8a6b94b/testbuild/test.c.1.o
[0m
['/usr/bin/gcc', '-Wl,--soname=foo', '../test.c', '-c', '-o', 'test.c.1.o']
[2/2] [33mcprogram: build/.conf_check_0c2b10ba6878dc866144bf5ea8a6b94b/testbuild/test.c.1.o -> build/.conf_check_0c2b10ba6878dc866144bf5ea8a6b94b/testbuild/testprog
[0m
['/usr/bin/gcc', 'test.c.1.o', '-o', '/home/ha/workspace/ns-3-dce/build/.conf_check_0c2b10ba6878dc866144bf5ea8a6b94b/testbuild/testprog', '-Wl,-Bstatic', '-Wl,-Bdynamic']
yes
------------------------------------------
Checking for ns3-core (None)
['/usr/bin/pkg-config', '--cflags', '--libs']
err: Must specify package names on the command line

not found
from /home/ha/workspace/ns-3-dce: The configuration failed

It is strange because I am specifying the build directory of of ns3 as the destination directory. So what's t he problem?

Thanks for the help.

Matt Anonyme

unread,
Jul 1, 2015, 7:20:15 AM7/1/15
to ns-3-...@googlegroups.com
Hi,
Note that '--
prefix=$HOME/workspace/build
' is where ./waf install copies files. As such I prefer to call the folder "$HOME/workspace/install" instead of build that can be confused with ns3/build.

I am not sure of the error but I wonder if setting the same --prefix for both ns3 and dce can lead to this problem. Waht if you don't set dce --prefix or set it to another value ?

./waf configure --with-ns3=$HOME/workspace/build --enable-opt --enable-kernel-stack=$HOME/workspace/net-next-sim/arch



Hany Assasa

unread,
Jul 1, 2015, 7:35:24 AM7/1/15
to ns-3-...@googlegroups.com
Hi,

I don't think the problem as you pointed. It is something related to the configuration file. Now, I tried to download ns3.19 instead of n3.23 and the configure command of waf in ns-3-dce worked perfectly and identified the ns3 core.

So the problem is with version compatibility, I suppose. So how to solve this problem?

--
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/Nnicrk0IEMk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Hajime Tazaki

unread,
Jul 1, 2015, 7:44:59 AM7/1/15
to ns-3-...@googlegroups.com

Indeed, it might be a problem with some versions
combination.

why not using bake ? you can replace net-next-sim version
after a bake build.


-- Hajime

At Wed, 1 Jul 2015 13:35:16 +0200,
Hany Assasa wrote:
>
> Hi,
>
> I don't think the problem as you pointed. It is something related to the
> configuration file. Now, I tried to download ns3.19 instead of n3.23 and
> the configure command of waf in ns-3-dce worked perfectly and identified
> the ns3 core.
>
> So the problem is with version compatibility, I suppose. So how to solve
> this problem?
>
> On Wed, Jul 1, 2015 at 1:20 PM, Matt Anonyme <matt...@gmail.com> wrote:
>
> > Hi,
> > Note that '--prefix=$HOME/workspace/build' is where ./waf install copies
> > files. As such I prefer to call the folder "$HOME/workspace/install"
> > instead of build that can be confused with ns3/build.
> >
> > I am not sure of the error but I wonder if setting the same --prefix for
> > both ns3 and dce can lead to this problem. Waht if you don't set dce
> > --prefix or set it to another value ?
> > ./waf configure --with-ns3=$HOME/workspace/build --enable-opt --enable-
> > kernel-stack=$HOME/workspace/net-next-sim/arch
> >
> >
> >
> > Le mercredi 1 juillet 2015 02:10:03 UTC+2, HA a écrit :
> >>
> >> Hi,
> >>
> >> I am trying to build ns3-dce using waf. However, I am getting error when
> >> I am passing configuration parameters for waf inside ns3-dce. The error is
> >> related to setting ns3 core directory. Here are the steps I have followed
> >> to build with waf:
> >>
> >> *1. Download pybindgen (optional)*
> >>
> >> bzr clone https://launchpad.net/pybindgen
> >> cd pybindgen
> >>
> >> ./waf configure --prefix=$HOME/workspace/build
> >> ./waf
> >> ./waf install
> >>
> >> *2. Download ns-3.23 and build it in optimized mode*
> >>
> >> hg clone http://code.nsnam.org/ns-3.23
> >> ./waf configure --disable-examples -d optimized --prefix=$HOME/workspace/build
> >> --includedir=$HOME/workspace/include/
> >> ./waf build
> >> ./waf install
> >>
> >> *3. Clone net-next-sim using 3.14 branch and enable MPTCP*
> >>
> >> git clone https://github.com/thehajime/net-next-sim.git
> >> cd net-next-sim
> >> git checkout sim-ns3-3.14.0-branch
> >>
> >> cat >> arch/sim/defconfig <<END
> >>
> >> CONFIG_MPTCP=y
> >> CONFIG_MPTCP_PM_ADVANCED=y
> >> CONFIG_MPTCP_FULLMESH=y
> >> CONFIG_MPTCP_NDIFFPORTS=y
> >> CONFIG_DEFAULT_FULLMESH=y
> >> CONFIG_DEFAULT_MPTCP_PM="fullmesh"
> >> CONFIG_TCP_CONG_COUPLED=y
> >> CONFIG_TCP_CONG_OLIA=y
> >>
> >> END
> >>
> >> make defconfig OPT=yes ARCH=sim
> >> make library OPT=yes ARCH=sim
> >>
> >> *4. Download, configure, build and install DCE 1.6*
> You received this message because you are subscribed to the Google Groups "ns-3-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ns-3-users+...@googlegroups.com.

Hany Assasa

unread,
Jul 1, 2015, 7:52:26 AM7/1/15
to ns-3-...@googlegroups.com
Hi Hajime,

How to replace replace net-next-sim version from 2.6 to the latest stable kernel version with the latest version of mptcp 0.89?

Tran Viet Hoang

unread,
Jul 6, 2015, 8:52:06 AM7/6/15
to ns-3-...@googlegroups.com
Hi,

Got the same problem with dev branch. I solved the issue by removing "--enable-opt" from "waf configure" command.

Hoang

Hany Assasa

unread,
Jul 6, 2015, 10:04:54 AM7/6/15
to ns-3-...@googlegroups.com
Hi,

Thanks for your help. It worked, but when I am trying to run some of the scripts inside the dce folder. It gives me this message:

assert failed. cond="filePath.length () > 0", msg="Stack file 'liblinux.so' not found ! Please check your DCE_PATH environment variable.", file=../model/kernel-socket-fd-factory.cc, line=566
terminate called without an active exception

I set the environment variables using ./waf shell. However, I a still getting the same problem. Did you have this problem?

Tran Viet Hoang

unread,
Jul 6, 2015, 3:56:05 PM7/6/15
to ns-3-...@googlegroups.com


On Monday, 6 July 2015 16:04:54 UTC+2, HA wrote:
Hi,

Thanks for your help. It worked,

Nice, it seems previous issue is due to optimization of DCE in recent version.
 
but when I am trying to run some of the scripts inside the dce folder. It gives me this message:

assert failed. cond="filePath.length () > 0", msg="Stack file 'liblinux.so' not found ! Please check your DCE_PATH environment variable.", file=../model/kernel-socket-fd-factory.cc, line=566
terminate called without an active exception

I set the environment variables using ./waf shell. However, I a still getting the same problem. Did you have this problem?

No, but did you create the liblinux.so kernel file, and verify the file name is correct?

Hany Assasa

unread,
Jul 6, 2015, 4:29:19 PM7/6/15
to ns-3-...@googlegroups.com
Hi,

Yes, I created a link liblinux.so manually. However, building with waf is a little of headache. You still need to do more things manually like downloading iproute, iperf, wget, httpd and compile them. What I did now is, I used bake to automate things and I modified the config file before starting the downloading and building process. So the bake file can downloaded the latest Kernel 3.14 from the git repository.

Mahfuz

unread,
Nov 18, 2015, 11:33:51 AM11/18/15
to ns-3-users
Hi,
I installed the ns3-dce-dev using bake. But I want to edit code inside ccnx. Then how can i compile and build the ccnx code only? Another bake.py clean can not remove the object file created in the previous build. If i have to built using the only command bake.py build then it takes huge time. I can not see any changes rather than the first built. Please give the guideline where as I can solve the problem.
Reply all
Reply to author
Forward
0 new messages