Issues with DCE_PATH

128 views
Skip to first unread message

Michele Polese

unread,
Nov 28, 2016, 12:26:32 PM11/28/16
to ns-3-users
Dear all,
I am trying to install DCE in a new machine (based on Debian 20).
In particular, I have a setup that works flawlessly in another Ubuntu 16.04 pc. I use Libos (the MPTCP branch of net-next-nuse) with a custom ns-3 module. I did not modify ns-3-dce.
The compilation is successful, the result of the command
ls $DCE_PATH

is
dccp-client            test-fork               test-select
dccp
-server            test-fork-fd            test-sem
freebsd
-iproute        test-gcc-builtin-apply  test-signal
liblinux
.so            test-ioctl              test-sleep
libsim
-linux.so        test-iperf              test-socket
ping                   test
-local-socket       test-stdio
ping6                  test
-malloc             test-stdlib
tcp
-client             test-malloc-2           test-strerror
tcp
-loopback           test-mutex              test-string
tcp
-server             test-name               test-tcp-socket
test
-bug-multi-select  test-nanosleep          test-timer-fd
test
-clock-gettime     test-netdb              test-tsearch
test
-cond              test-once               udp-client
test
-dirent            test-pipe               udp-echo-client
test
-empty             test-poll               udp-echo-server
test
-env               test-pthread            udp-perf
test
-exec              test-pthread-key        udp-server
test
-exec-target-1     test-random             unix-client
test
-fd-simple         test-raw-socket         unix-server

However, when I launch an example, I get this error:
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=573
terminate called without an active exception

Any idea?
Thanks,
Michele

Matt Anonyme

unread,
Nov 29, 2016, 9:54:37 AM11/29/16
to ns-3-users
DCE_PATH is an environement variable just like PATH.
DCE can't find the file "liblinux.so" so you should export DCE_PATH="folder/with/liblinux:/other/folder"

Cheers

Michele Polese

unread,
Nov 29, 2016, 10:08:04 AM11/29/16
to ns-3-users
Hi Matt

2016-11-29 15:54 GMT+01:00 Matt Anonyme <matt...@gmail.com>:
DCE_PATH is an environement variable just like PATH.
DCE can't find the file "liblinux.so" so you should export DCE_PATH="folder/with/liblinux:/other/folder"
this is what I did, and in order to try if I set it correctly I called "ls $DCE_PATH" and in the results there was also liblinux (actually, the symbolic link to liblinux, which is created at the end of the compilation with Bake).

However, the problem was not solved.
Thanks for your time,
Michele

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
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/VALcF1xpdi4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.



--
Michele Polese

Ph.D. Student
Dept. of Information Engineering (DEI) - SIGNET Research Group
University of Padova
Via Gradenigo 6/B, 35131 Padova (Italy)
web: polese.io

Matt Anonyme

unread,
Nov 29, 2016, 10:19:16 AM11/29/16
to ns-3-users
where did you do the 'ls' from ? if you do $ls $TOTO and TOTO is not set, ls will show the current directory.
How do you export DCE_PATH and how do you run DCE ? I think some waf scripts will remove the environement (like test.py), in which case you have to run "./waf test-runner" or sthg like that.
Hi Matt

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 https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Michele Polese

unread,
Nov 29, 2016, 10:33:58 AM11/29/16
to ns-3-users
2016-11-29 16:19 GMT+01:00 Matt Anonyme <matt...@gmail.com>:
where did you do the 'ls' from ? if you do $ls $TOTO and TOTO is not set, ls will show the current directory.
I called it from the folder in which I execute the script.
-bash-4.3$ pwd
/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce
-bash-4.3$ export DCE_PATH="/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce/"
-bash-4.3$ echo $DCE_PATH
/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce/
-bash-4.3$ ls $DCE_PATH

dccp-client            test-fork               test-select
dccp-server            test-fork-fd            test-sem
freebsd-iproute        test-gcc-builtin-apply  test-signal
liblinux.so            test-ioctl              test-sleep
libsim-linux.so        test-iperf              test-socket
ping                   test-local-socket       test-stdio
ping6                  test-malloc             test-stdlib
tcp-client             test-malloc-2           test-strerror
tcp-loopback           test-mutex              test-string
tcp-server             test-name               test-tcp-socket
test-bug-multi-select  test-nanosleep          test-timer-fd
test-clock-gettime     test-netdb              test-tsearch
test-cond              test-once               udp-client
test-dirent            test-pipe               udp-echo-client
test-empty             test-poll               udp-echo-server
test-env               test-pthread            udp-perf
test-exec              test-pthread-key        udp-server
test-exec-target-1     test-random             unix-client
test-fd-simple         test-raw-socket         unix-server

BTW, I did not change the location of liblinux from the default one, and in other installations I never had this problem.
I am trying to launch the simulations in a remote computing cluster, maybe there are some issues with the paths for this particular case?
Thanks for your help!
Michele

To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.

To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Matt Anonyme

unread,
Nov 29, 2016, 10:59:27 AM11/29/16
to ns-3-users
Looks good. Try running with NS_LOG="*" to see debug messages and grep for liblinux.so.
If DCE itself lacks helpful DCE_PATH debug statements, you (or I) can add some.

Michele Polese

unread,
Dec 6, 2016, 12:18:53 PM12/6/16
to ns-3-users
Hi Matt,
I have an update. The DEC_PATH is found correctly, and ExecUtils::SeekFile scans all the folders in the path. However, when it reaches the correct one, the CheckFileExe returns false (0 != ::stat (file.c_str (), &st)) is true).
Any idea on why?
Thanks for your time and your help!
Michele

To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.

To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Matt Anonyme

unread,
Dec 7, 2016, 9:22:33 PM12/7/16
to ns-3-users
I remember having a problem with some function buidling the path wrongly, like "//X" instead of "/X" but I can't remember the name. I can't look at this more closely before next week but you could check by yourself by setting a breakpoint on SeekFile, iterate line by line and print the current variables.

Michele Polese

unread,
Dec 8, 2016, 11:18:01 AM12/8/16
to ns-3-users
Hi Matt, I added some logs
Here is DCE_PATH:

/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce/:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin_dce:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/sbin:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce:/usr/lib/gcc/x86_64-redhat-linux/4.8.3:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib64:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib64:/nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin


While these are the folders visited by SeekFile, (0 != ::stat (file.c_str (), &st)) shows that this condition is true thus the CheckFileExe fails

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin_dce

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin_dce/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin_dce/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/sbin

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/sbin/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/sbin/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin_dce/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /usr/lib/gcc/x86_64-redhat-linux/4.8.3

 pp /usr/lib/gcc/x86_64-redhat-linux/4.8.3/liblinux.so

 pp after cano /usr/lib/gcc/x86_64-redhat-linux/4.8.3/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib64

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib64/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/lib64/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/source/ns-3-dce/build/bin/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib64

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib64/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/lib64/liblinux.so

0 != ::stat (file.c_str (), &st)

m_paths p /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin

 pp /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin/liblinux.so

 pp after cano /nfsd/signet/ns/polese/net-next-nuse/tools/testing/libos/buildtop/build/bin/liblinux.so

0 != ::stat (file.c_str (), &st)

Reply all
Reply to author
Forward
0 new messages