Wireshark-dev: Re: [Wireshark-dev] packet-ncp2222 build question

From: Jeff Morriss <jeff.morriss.ws@xxxxxxxxx>
Date: Wed, 09 May 2012 14:49:14 -0400

It might work except that packet-ncp-sss.c depends on a symbol from packet-ncp.c .

Gilbert Ramirez wrote:
Yes, PYTHON is the issue, and yes, this is an attempt to remove ncp2222 from wireshark in the absence of PYTHON. But, that attempt is broken.

Good find.

Gilbert

On Wed, May 9, 2012 at 11:19 AM, Beth <beth.tridium@xxxxxxxxx <mailto:beth.tridium@xxxxxxxxx>> wrote:

    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
    !IFDEF PYTHON
    @echo Making packet-ncp2222.c
    $(PYTHON) "../../tools/ncp2222.py" -o packet-ncp2222.c
    !ELSE
    @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 $@
    !ENDIF

    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,
    b.