Hello everyone,
I'm having a persistent linker error on a fresh installation of ns-allinone-3.43 and I'm hoping someone can point me in the right direction.
The Problem: When I try to build a simple program in the scratch directory, the build fails at the final linking stage with the error /usr/bin/ld: cannot find -lns3-wifi: No such file or directory. This happens for all the core ns-3 libraries. It seems the main libraries (.so files) are not being created in the build/lib directory, even though the compilation of their source files seems to succeed.
My System:
ns-3 Version: ns-3.43 (from the ns-allinone-3.43.tar.bz2 package)
Operating System:
navvu@RaghunathDas:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.3 LTS
Release: 24.04
Codename: noble
Troubleshooting Steps I've Already Taken: I've spent a long time trying to debug this and have already tried:
A complete, clean re-installation of ns-allinone-3.43 after removing the old directory.
Installing all prerequisite and optional system dependencies for Ubuntu/Debian using a comprehensive sudo apt-get install ... command (including g++, cmake, python3-dev, ninja-build, etc.).
Running ./ns3 clean and then ./ns3 build multiple times.
Verifying my simple program code and scratch/CMakeLists.txt are correct. The build fails even with the most basic setup.
Even on a completely fresh install with all dependencies met, the linker cannot find the core ns-3 libraries.
Here is the final error log:
Here are my simple test files:
scratch/ns3-glowworm.cc:
scratch/CMakeLists.txt:
Does anyone have an idea why a fresh ns-3 installation on my system would fail to create its own libraries, leading to this linker error? Any suggestions for further diagnostics would be greatly appreciated.
Thank you for your time.