dce-iperf compilation guidelines

104 views
Skip to first unread message

musically_ut

unread,
Jun 2, 2011, 4:48:34 AM6/2/11
to ns-3-users
Hi,

I am trying to run the dce-iperf example from the mathieu/ns-3-dce-old
branch, but am running into some problems.

I have iperf compiled with CXXFLAGS='-fpic -fpie' LDFLAGS='-pie' as
suggested here: http://comments.gmane.org/gmane.network.simulator.ns3.user/2268
but am running into the following error (scroll right down to the
end):

------------------------------------------------------------------------------------------------------------------------------------------------

:~/repos/ns-3-allinone/ns-3-dce-old$ ./waf --run dce-iperf
Waf: Entering directory `/home/utkarsh/repos/ns-3-allinone/ns-3-dce-
old/build'
Waf: Leaving directory `/home/utkarsh/repos/ns-3-allinone/ns-3-dce-old/
build'
'build' finished successfully (0.993s)
assert failed. cond="handle != 0", msg="Could not open elf-cache/0/
iperf elf-cache/0/iperf: symbol __snprintf_chk, version GLIBC_2.3.4
not defined in file 0001.so.6 with link time reference", file=../src/
dce/model/cooja-loader-factory.cc, line=218
terminate called without an active exception
Command ['/home/utkarsh/repos/ns-3-allinone/ns-3-dce-old/build/debug/
src/dce/example/dce-iperf'] terminated with signal SIGIOT. Run it
under a debugger to get more information (./waf --run <program> --
command-template="gdb --args %s <args>").

------------------------------------------------------------------------------------------------------------------------------------------------

gdb's backtrace confirms what the error says, that it is an assertion
failure.

File 0001.so.6 (I believe) corresponds to elf-cache/0/libc-ns3.so
which indeed does not have the symbol '__snprintf_chk'. However, /usr/
libc.so does have it, allowing iperf to run successfully as an
independent application.

I have tried compiling it with multiple versions of iperf, and have
received the same error.

Is someone else also facing/has faced similar problems? Any solutions?

Thanks.

~
Ut

Hajime Tazaki

unread,
Jun 2, 2011, 5:41:27 AM6/2/11
to ns-3-...@googlegroups.com

Hi,

What kind of OS and distribution are you using?

Dce still needs to port bunch of system call and library
call, and dce-iperf only is be able to executable under
limited environment.

Although it's a bit outdated information, but it might be
helpful for you.

http://www.nsnam.org/wiki/index.php/Ns-3-dce_portability

And there is a changeset to try to solve that issue.

http://code.nsnam.org/thehajime/ns-3-dce-quagga-umip/diff/a3420f767e78/src/dce/model/libc.c#l1.98

#You can cut & paste only the required part for
__snprintf_chk.

it was only tested under Ubuntu 10.04, x86_64.

regards,
hajime

At Thu, 2 Jun 2011 01:48:34 -0700 (PDT),

musically_ut

unread,
Jun 2, 2011, 8:36:16 AM6/2/11
to ns-3-users
I am using Ubuntu 11.04 i686, with libc version 2.13.

I tried to define a few functions from your patch and it worked for
the first few functions (__snprintf_chk and __stack_chk_fail) but I
will try compiling iperf with an older version of libc (2.11.1) to
test whether that is easier.

Also, `./test.py -s process-manager` succeeds on my system, but that
probably is because the link is old.
I would like to keep ns-3-dce updated with the latest version, but I
am not sure which version of dce is the defacto active branch, and
which regression tests should I run to check for compatibility?

Also, finally, I intend to use a modified (with Multipath TCP) linux
kernel network stack and simulate experiments on ns-3 with it. Do you
see any obvious caveats with the approach? Any hints there?

Thanks!

~
Ut.



On Jun 2, 11:41 am, Hajime Tazaki<thehaj...@gmail.com> wrote:
> Hi,
>
> What kind of OS and distribution are you using?
>
> Dce still needs to port bunch of system call and library
> call, and dce-iperf only is be able to executable under
> limited environment.
>
> Although it's a bit outdated information, but it might be
> helpful for you.
>
> http://www.nsnam.org/wiki/index.php/Ns-3-dce_portability
>
> And there is a changeset to try to solve that issue.
>
> http://code.nsnam.org/thehajime/ns-3-dce-quagga-umip/diff/a3420f767e7...
Reply all
Reply to author
Forward
0 new messages