Wireshark-dev: [Wireshark-dev] packet-ncp2222 build question
From: Beth <[email protected]>
Date: Wed, 9 May 2012 14:19:39 -0400
I've run into a puzzling issue here, perhaps someone can explain it to me.
I'm simply trying to build "all", but I get an unresolved external symbol in libwireshark.dll : ett_nds

I've tracked down the definition of this symbol in packet-ncp.c.save, which is NOT part of the build.  
packet-ncp.c is empty.  This seemed strange, since I just checked out a clean copy of the repository 
head from SVN - I'd have expected it to build correctly right out of the box.

After going in circles for some time, including deleting and re-checking out the source code,
I discovered the following snippet in epan/dissectors/Makefile.nmake:

packet-ncp2222.c: ..\..\tools/ncp2222.py
@echo Making packet-ncp2222.c
$(PYTHON) "../../tools/ncp2222.py" -o packet-ncp2222.c
@echo Faking packet-ncp2222.c...
@echo Python is required to build the NCP disector
@echo Hiding packet-ncp.c...
mv packet-ncp.c packet-ncp.c.save
touch packet-ncp.c [email protected]

So it's happening because I haven't defined PYTHON.  I can fix that (missed a step in setting up the new PC I guess),
but shouldn't wireshark build correctly either way?  Otherwise why have the ifdef at all?  You could just have nmake fail 
if python isn't defined.

I'm asking these questions in order to make sure defining PYTHON really is the issue, and not something
else that will crop up another way once I fix this particular thing.

Thanks for any input,