direct-code-execution / ns-3-dce

Run real programs in the discrete time simulator ns3
http://www.nsnam.org/projects/direct-code-execution/
75 stars 46 forks source link

Draft: net-next-nuse-5.10.47 support #142

Open tomhenderson opened 1 year ago

tomhenderson commented 1 year ago

This is a staging issue for debugging Parth Pratim Chatterjee's 2021 Google Summer of Code project on DCE modernization; specifically, the experimental branch for a newer Linux kernel version (5.10.47).

In 2021, this kernel was working for IPv4 programs on Ubuntu 20.04, but latest Ubuntu 20.04 minor releases have some problems at runtime. The relevant branches have been slightly updated to fix broken URLs and Python/Python3 issues but are otherwise unchanged since 2021.

Steps to reproduce, either on a native Ubuntu 20.04 machine or a Ubuntu 20.04 container:

apt install -y g++ cmake ninja-build ccache libgsl-dev libgtk-3-dev libboost-dev wget git python3 python3-pip
apt install -y automake bc bison flex gawk libc6 libc6-dbg libdb-dev libssl-dev libpcap-dev vim rsync gdb
apt install -y mercurial indent libsysfs-dev
pip3 install requests distro
git clone https://gitlab.com/tomhenderson/bake.git
cd bake
git checkout -b dce-1.13 origin/dce-1.13
export PATH=$PATH:`pwd`/build/bin
export LD_LIBRARY_PATH=`pwd`/build/lib
export DCE_PATH=`pwd`/build/bin_dce:`pwd`/build/sbin
./bake.py configure -e dce-linux-1.13
./bake.py download
./bake.py build

The current runtime error is:

cd source/ns-3-dce
./waf --run dce-linux
assert failed. cond="handle != 0", msg="Could not open elf-cache/0/liblinux.so elf-cache/0/liblinux.so: undefined symbol: __end_lsm_info", +0.000000000s 0 file=../model/cooja-loader-factory.cc, line=236
terminate called without an active exception
Command ['/home/bake/source/ns-3-dce/build/bin/dce-linux'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>").