Closed anoduck closed 2 months ago
I am so used to cloning directly from HEAD, I don't even consider downloading the recent release archive. Something that should be tried.
The release does not include the multi-device fork.
Performed a Github repository search for the undefined reference "srsran_rf_recv_with_time_multi", which lead me to the author's personal repository of the multi-device implementation of LTESniffer. Noticed the repository appeared to be structured a little differently, and decided to give it a try.
It built like butter, but there was a kicker. The repository might include files that contain a subset of functions from the official repository used for testing purposes, but the file "LTESniffer_core.cc" is not present, and the strings rf_a_string
and rf_b_string
are not within any of the files in this repository. Both the file and those strings are used to designate the two devices for use with the sniffer, and without them, LTESniffer will not know which device to use for which.
So this repository looks to have been created for purely testing purposes.
After reviewing previous notes for implementing LTESniffer on a docker image, it was discovered building UHD from source is not an option, it is a requirement. Also, a few optional libraries were installed. Building UHD from source and adding the path manually to the system libraries really is what made the difference. Once performed, LTESniffer built perfectly.
So to summarize:
sudo apt install libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev
git clone https://github.com/SysSec-KAIST/LTESniffer.git
cd LTESniffer
git checkout LTESniffer-multi-usrp
mkdir -p build && cd $_
export CC=/usr/bin/gcc-11 && export CXX=/usr/bin/g++-11
cmake ../ && make -j4
This is how I achieved a successful build.
Received "undefined reference" error for
srsran_rf_recv_with_time_multi
.After discovering potential bug in gcc-12, I downgraded to use of gcc-11. This allowed the build process to run until it reached 100% and ran
/usr/bin/ld
, then caught the "undefined reference" error and full stop.The reference occurs on the following lines:
Performed on new box, with a fresh install, a fresh clone, and new radios.
Building branch: LTESniffer-multi-usrp Distrobution: Ubuntu-Server Noble (Fresh Install on Fresh Box)