Modules that I do not care about are not compiling in ns-3 dev.

87 views
Skip to first unread message

Spencer Neuschmid

unread,
Feb 4, 2020, 12:41:32 PM2/4/20
to ns-3-users
Hi,

I am trying to modify RIP in ns-3 to support some cryptographic functions. I was able to link openssl properly and was able to run a simple script from my scratch folder. I then proceeded to add basic openssl code to the src/internet/model/rip.cc code. I modified the wscript file in the src/internet/ directory to link the library with rip.cc properly. I included my header files and then rip.cc compiled properly. The problem is that other files are trying to be linked are failing because they do not link the function calls I am making in rip.cc. 

Here is the output:

Waf: Entering directory `/home/spencer/Documents/ns-3-allinone/ns-3-dev/build'
[1237/2689] Compiling src/internet/model/rip.cc
[2424/2689] Linking build/lib/libns3-dev-internet-optimized.so
[2425/2689] Linking build/lib/libns3-dev-applications-optimized.so
[2426/2689] Linking build/lib/libns3-dev-point-to-point-layout-optimized.so
[2427/2689] Linking build/lib/libns3-dev-internet-apps-optimized.so
[2428/2689] Linking build/lib/libns3-dev-wave-optimized.so
[2429/2689] Linking build/lib/libns3-dev-wimax-optimized.so
[2430/2689] Linking build/lib/libns3-dev-flow-monitor-optimized.so
[2431/2689] Linking build/lib/libns3-dev-olsr-optimized.so
[2432/2689] Linking build/lib/libns3-dev-sixlowpan-optimized.so
[2433/2689] Linking build/lib/libns3-dev-dsr-optimized.so
[2434/2689] Linking build/lib/libns3-dev-mesh-optimized.so
[2435/2689] Linking build/lib/libns3-dev-csma-layout-optimized.so
[2436/2689] Linking build/lib/libns3-dev-aodv-optimized.so
[2437/2689] Linking build/lib/libns3-dev-lte-optimized.so
[2438/2689] Linking build/lib/libns3-dev-nix-vector-routing-optimized.so
[2439/2689] Linking build/lib/libns3-dev-dsdv-optimized.so
[2440/2689] Linking build/lib/libns3-dev-tap-bridge-optimized.so
[2441/2689] Linking build/lib/libns3-dev-aodv-test-optimized.so
[2442/2689] Linking build/lib/libns3-dev-applications-test-optimized.so
[2443/2689] Linking build/lib/libns3-dev-dsr-test-optimized.so
[2444/2689] Linking build/lib/libns3-dev-dsdv-test-optimized.so
[2445/2689] Linking build/lib/libns3-dev-flow-monitor-test-optimized.so
[2446/2689] Linking build/lib/libns3-dev-internet-test-optimized.so
[2447/2689] Linking build/lib/libns3-dev-internet-apps-test-optimized.so
[2448/2689] Linking build/lib/libns3-dev-mesh-test-optimized.so
[2449/2689] Linking build/lib/libns3-dev-olsr-test-optimized.so
[2450/2689] Linking build/lib/libns3-dev-sixlowpan-test-optimized.so
[2451/2689] Linking build/lib/libns3-dev-wave-test-optimized.so
[2452/2689] Linking build/lib/libns3-dev-wimax-test-optimized.so
[2453/2689] Linking build/src/aodv/examples/ns3-dev-aodv-optimized
/usr/bin/ld: lib/libns3-dev-internet-optimized.so: undefined reference to `PEM_read_bio_RSAPrivateKey'
/usr/bin/ld: lib/libns3-dev-internet-optimized.so: undefined reference to `BIO_new_mem_buf'
collect2: error: ld returned 1 exit status



And here is more detailed output:

[2062/2689] Linking build/lib/libns3-dev-netanim-test-optimized.so
09:13:59 runner ['/usr/bin/g++', '-Wl,--soname=libns3-dev-netanim-test-optimized.so', '-shared', '-pthread', 'src/netanim/test/netanim-test.cc.3.o', '-o/home/spencer/Documents/ns-3-allinone/ns-3-dev/build/lib/libns3-dev-netanim-test-optimized.so', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Llib', '-lns3-dev-netanim-optimized', '-lns3-dev-wimax-optimized', '-lns3-dev-lte-optimized', '-lns3-dev-applications-optimized', '-lns3-dev-wave-optimized', '-lns3-dev-point-to-point-layout-optimized', '-lns3-dev-internet-optimized', '-lns3-dev-bridge-optimized', '-lns3-dev-point-to-point-optimized', '-lns3-dev-mpi-optimized', '-lns3-dev-traffic-control-optimized', '-lns3-dev-wifi-optimized', '-lns3-dev-lr-wpan-optimized', '-lns3-dev-spectrum-optimized', '-lns3-dev-buildings-optimized', '-lns3-dev-propagation-optimized', '-lns3-dev-uan-optimized', '-lns3-dev-mobility-optimized', '-lns3-dev-energy-optimized', '-lns3-dev-csma-optimized', '-lns3-dev-config-store-optimized', '-lns3-dev-virtual-net-device-optimized', '-lns3-dev-fd-net-device-optimized', '-lns3-dev-network-optimized', '-lns3-dev-stats-optimized', '-lns3-dev-antenna-optimized', '-lns3-dev-core-optimized', '-lrt']
[2133/2689] Linking build/lib/libns3-dev-test-test-optimized.so
09:13:59 runner ['/usr/bin/g++', '-Wl,--soname=libns3-dev-test-test-optimized.so', '-shared', '-pthread', 'src/test/csma-system-test-suite.cc.4.o', 'src/test/ns3tc/fq-codel-queue-disc-test-suite.cc.4.o', 'src/test/ns3tc/pfifo-fast-queue-disc-test-suite.cc.4.o', 'src/test/ns3tcp/ns3tcp-cwnd-test-suite.cc.4.o', 'src/test/ns3tcp/ns3tcp-interop-test-suite.cc.4.o', 'src/test/ns3tcp/ns3tcp-loss-test-suite.cc.4.o', 'src/test/ns3tcp/ns3tcp-no-delay-test-suite.cc.4.o', 'src/test/ns3tcp/ns3tcp-socket-test-suite.cc.4.o', 'src/test/ns3tcp/ns3tcp-state-test-suite.cc.4.o', 'src/test/ns3tcp/nsctcp-loss-test-suite.cc.4.o', 'src/test/ns3tcp/ns3tcp-socket-writer.cc.4.o', 'src/test/ns3wifi/wifi-interference-test-suite.cc.4.o', 'src/test/ns3wifi/wifi-msdu-aggregator-test-suite.cc.4.o', 'src/test/ns3wifi/wifi-ac-mapping-test-suite.cc.4.o', 'src/test/traced/traced-callback-typedef-test-suite.cc.4.o', 'src/test/traced/traced-value-callback-typedef-test-suite.cc.4.o', '-o/home/spencer/Documents/ns-3-allinone/ns-3-dev/build/lib/libns3-dev-test-test-optimized.so', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Llib', '-lns3-dev-test-optimized', '-lns3-dev-lte-optimized', '-lns3-dev-applications-optimized', '-lns3-dev-csma-layout-optimized', '-lns3-dev-dsr-optimized', '-lns3-dev-flow-monitor-optimized', '-lns3-dev-mesh-optimized', '-lns3-dev-olsr-optimized', '-lns3-dev-sixlowpan-optimized', '-lns3-dev-internet-apps-optimized', '-lns3-dev-point-to-point-layout-optimized', '-lns3-dev-internet-optimized', '-lns3-dev-bridge-optimized', '-lns3-dev-point-to-point-optimized', '-lns3-dev-mpi-optimized', '-lns3-dev-traffic-control-optimized', '-lns3-dev-buildings-optimized', '-lns3-dev-config-store-optimized', '-lns3-dev-csma-optimized', '-lns3-dev-wifi-optimized', '-lns3-dev-lr-wpan-optimized', '-lns3-dev-spectrum-optimized', '-lns3-dev-propagation-optimized', '-lns3-dev-uan-optimized', '-lns3-dev-mobility-optimized', '-lns3-dev-energy-optimized', '-lns3-dev-virtual-net-device-optimized', '-lns3-dev-fd-net-device-optimized', '-lns3-dev-network-optimized', '-lns3-dev-stats-optimized', '-lns3-dev-antenna-optimized', '-lns3-dev-core-optimized', '-lrt']
[2198/2689] Linking build/src/aodv/examples/ns3-dev-aodv-optimized
09:13:59 runner ['/usr/bin/g++', '-pthread', 'src/aodv/examples/aodv.cc.1.o', '-o/home/spencer/Documents/ns-3-allinone/ns-3-dev/build/src/aodv/examples/ns3-dev-aodv-optimized', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-Llib', '-lns3-dev-aodv-optimized', '-lns3-dev-wifi-optimized', '-lns3-dev-spectrum-optimized', '-lns3-dev-propagation-optimized', '-lns3-dev-mobility-optimized', '-lns3-dev-energy-optimized', '-lns3-dev-internet-apps-optimized', '-lns3-dev-internet-optimized', '-lns3-dev-bridge-optimized', '-lns3-dev-mpi-optimized', '-lns3-dev-traffic-control-optimized', '-lns3-dev-network-optimized', '-lns3-dev-stats-optimized', '-lns3-dev-antenna-optimized', '-lns3-dev-core-optimized', '-lrt']
[2205/2689] Linking build/src/applications/examples/ns3-dev-three-gpp-http-example-optimized
09:13:59 runner ['/usr/bin/g++', '-pthread', 'src/applications/examples/three-gpp-http-example.cc.1.o', '-o/home/spencer/Documents/ns-3-allinone/ns-3-dev/build/src/applications/examples/ns3-dev-three-gpp-http-example-optimized', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-Llib', '-lns3-dev-applications-optimized', '-lns3-dev-internet-optimized', '-lns3-dev-bridge-optimized', '-lns3-dev-point-to-point-optimized', '-lns3-dev-mpi-optimized', '-lns3-dev-traffic-control-optimized', '-lns3-dev-config-store-optimized', '-lns3-dev-network-optimized', '-lns3-dev-stats-optimized', '-lns3-dev-core-optimized', '-lrt']
/usr/bin/ld: lib/libns3-dev-internet-optimized.so: undefined reference to `PEM_read_bio_RSAPrivateKey'
/usr/bin/ld: lib/libns3-dev-internet-optimized.so: undefined reference to `BIO_new_mem_buf'
collect2: error: ld returned 1 exit status

/usr/bin/ld: lib/libns3-dev-internet-optimized.so: undefined reference to `PEM_read_bio_RSAPrivateKey'
/usr/bin/ld: lib/libns3-dev-internet-optimized.so: undefined reference to `BIO_new_mem_buf'
collect2: error: ld returned 1 exit status

Waf: Leaving directory `/home/spencer/Documents/ns-3-allinone/ns-3-dev/build'
Build failed
 -> task in 'three-gpp-http-example' failed with exit status 1: 
{task 140153518720280: cxxprogram three-gpp-http-example.cc.1.o -> ns3-dev-three-gpp-http-example-optimized}
['/usr/bin/g++', '-pthread', 'src/applications/examples/three-gpp-http-example.cc.1.o', '-o/home/spencer/Documents/ns-3-allinone/ns-3-dev/build/src/applications/examples/ns3-dev-three-gpp-http-example-optimized', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-Llib', '-lns3-dev-applications-optimized', '-lns3-dev-internet-optimized', '-lns3-dev-bridge-optimized', '-lns3-dev-point-to-point-optimized', '-lns3-dev-mpi-optimized', '-lns3-dev-traffic-control-optimized', '-lns3-dev-config-store-optimized', '-lns3-dev-network-optimized', '-lns3-dev-stats-optimized', '-lns3-dev-core-optimized', '-lrt']
 -> task in 'aodv' failed with exit status 1: 
{task 140153519171176: cxxprogram aodv.cc.1.o -> ns3-dev-aodv-optimized}
['/usr/bin/g++', '-pthread', 'src/aodv/examples/aodv.cc.1.o', '-o/home/spencer/Documents/ns-3-allinone/ns-3-dev/build/src/aodv/examples/ns3-dev-aodv-optimized', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-Llib', '-lns3-dev-aodv-optimized', '-lns3-dev-wifi-optimized', '-lns3-dev-spectrum-optimized', '-lns3-dev-propagation-optimized', '-lns3-dev-mobility-optimized', '-lns3-dev-energy-optimized', '-lns3-dev-internet-apps-optimized', '-lns3-dev-internet-optimized', '-lns3-dev-bridge-optimized', '-lns3-dev-mpi-optimized', '-lns3-dev-traffic-control-optimized', '-lns3-dev-network-optimized', '-lns3-dev-stats-optimized', '-lns3-dev-antenna-optimized', '-lns3-dev-core-optimized', '-lrt']


I am using an optimized ns-3-dev build on Ubuntu 19.04.

I am not sure how to make these files not link properly. In fact, I would prefer only rip.cc and its related files build in ns3 and not have to worry about other ns3 modules that I will not be using at this point in time anyways. 

Thank you for any help you can give.
Spencer

Tom Henderson

unread,
Feb 4, 2020, 1:10:50 PM2/4/20
to 'Spencer Neuschmid' via ns-3-users

What is the change to your wscript?

Message has been deleted

Spencer Neuschmid

unread,
Feb 4, 2020, 1:19:57 PM2/4/20
to ns-3-users
In the configure function, I have added the following two lines of code:
    
    conf.env.append_value("LINKFLAGS", ["-L/opt/ssl/lib/"])
    conf.env.append_value("LIB", ["crypto"])   


I have added this code to the following wscript files:

/wscript (top level)
/src/internet/wscript
/src/wscript

I got the errors adding wscript in just the first two places, so I tried adding it in more places thinking that certain files might not be able to see the links, but the problem persists. 

Thanks!
Reply all
Reply to author
Forward
0 new messages