Bug 2235 - Running ./waf install just after configure fails
Running ./waf install just after configure fails
Status: PATCH WANTED
Product: ns-3
Classification: Unclassified
Component: build system
ns-3.24
PC Linux
: P5 enhancement
Assigned To: Gustavo J. A. M. Carneiro
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2015-11-30 07:10 EST by Matthieu Coudron
Modified: 2016-01-04 17:43 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthieu Coudron 2015-11-30 07:10:46 EST
I configure waf with gcc5:
CXX="g++" CXXFLAGS=" -Wno-reorder -Wno-unused-variable -std=c++11 -include sstream" ./waf configure --prefix=install --build-profile=debug

If I run directly: ./waf install I get the following error:
===
+ install /home/teto/ns3off/install/include/ns3-dev/ns3/send-params.h (from src/wimax/model/send-params.h)
+ install /home/teto/ns3off/install/include/ns3-dev/ns3/bs-scheduler-simple.h (from src/wimax/model/bs-scheduler-simple.h)
+ install /home/teto/ns3off/install/include/ns3-dev/ns3/ss-service-flow-manager.h (from src/wimax/model/ss-service-flow-manager.h)
+ install /home/teto/ns3off/install/include/ns3-dev/ns3/simple-ofdm-wimax-channel.h (from src/wimax/model/simple-ofdm-wimax-channel.h)
Waf: Leaving directory `/home/teto/ns3off/build'
Build failed
Traceback (most recent call last):
  File "/home/teto/ns3off/.waf-1.8.16-62b1bd1a26843637845309e604a98bca/waflib/Runner.py", line 150, in task_status
    return tsk.runnable_status()
  File "/home/teto/ns3off/.waf-1.8.16-62b1bd1a26843637845309e604a98bca/waflib/Build.py", line 451, in runnable_status
    ret=super(inst,self).runnable_status()
  File "/home/teto/ns3off/.waf-1.8.16-62b1bd1a26843637845309e604a98bca/waflib/Task.py", line 311, in runnable_status
    new_sig=self.signature()
  File "/home/teto/ns3off/.waf-1.8.16-62b1bd1a26843637845309e604a98bca/waflib/Task.py", line 296, in signature
    self.sig_explicit_deps()
  File "/home/teto/ns3off/.waf-1.8.16-62b1bd1a26843637845309e604a98bca/waflib/Task.py", line 349, in sig_explicit_deps
    raise Errors.WafError('Missing node signature for %r (required by %r)'%(x,self))
WafError: Missing node signature for /home/teto/ns3off/build/src/fd-net-device/ns3-dev-tap-device-creator-debug (required by 
	{task 140243053566352: inst ns3-dev-tap-device-creator-debug -> })
===

If I run ./waf build and only then ./waf install, it works perfectly. Here is my config:
===
Waf: Entering directory `/home/teto/ns3off/build'
Waf: Leaving directory `/home/teto/ns3off/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (0.347s)

Modules built:
antenna                   aodv                      applications              
bridge                    buildings                 config-store              
core                      csma                      csma-layout               
dsdv                      dsr                       energy                    
fd-net-device             flow-monitor              internet                  
internet-apps             lr-wpan                   lte                       
mesh                      mobility                  mpi                       
netanim (no Python)       network                   nix-vector-routing        
olsr                      point-to-point            point-to-point-layout     
propagation               sixlowpan                 spectrum                  
stats                     tap-bridge                test (no Python)          
topology-read             uan                       virtual-net-device        
wave                      wifi                      wimax                     

Modules not built (see ns-3 tutorial for explanation):
brite                     click                     openflow    
====
Comment 1 Tom Henderson 2016-01-04 17:43:33 EST
I was able to reproduce.  Agree that waf should behave like make does and allow to install directly; it seems to work elsewhere this way:

http://named-data.net/doc/NFD/0.1.0/INSTALL.html

but marking as PATCH WANTED and I don't intend to prioritize since workarounds obviously exist.