Wireshark-dev: Re: [Wireshark-dev] Building latest Wireshark using VS2013

From: Roland Knall <rknall@xxxxxxxxx>
Date: Fri, 23 Dec 2016 10:20:36 +0100
Hi

The solution should rather be

    if (tvb_get_ntohl(tvb, offset) != 0x20010000) {
        return;
    }

This follows the coding rules within the file. I can't even begin to imagine, what msbuild is complaining about, but who really knows, what that build-system is thinking in it's core......

The install path really does not matter, as long as you ensure, that it is the correct iteration of cygwin (64bit for the 64bit msbuild). As for the LC_ALL, this is an environment variable setting the language locale, before calling a command. For know, just remove the docbook build on your system using the cmake-gui (please ensure, that you are running the gui FROM a VStudio command prompt, otherwise, see my comment about the very nice msbuild system above). It will allow you to build the system without the docbook, which is fine, as long as you do not want to edit the help yourself. You can allways use the latest version from the website.

regards,
Roland

P.S.: If the brackets fix the issue for you, please file a patchset on gerrit


On Fri, Dec 23, 2016 at 9:51 AM, Andreas <AndreasSander1@xxxxxxx> wrote:

I could "fix" the errors compiling the dissectors. This looks like a bug
in the VS2013 compiler I use. The function add_ipv6_address_teredo has
these lines:

    if (tvb_get_ntohl(tvb, offset) != 0x20010000)
        return;

    guint16 mapped_port = tvb_get_ntohs(tvb, offset + 10) ^ 0xffff;

That's not accepted as a variable definition for 'mapped_port'. I could
make a workaround by changing the condition statement above:


    if (tvb_get_ntohl(tvb, offset) != 0x20010000)
    {    return;    }

I have no idea why the compiler complains or why this helps. I assume
this is a bug with VS2013 Premium Version 12.0.21005.1 REL. The version
of the compiler binary is
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x64


If I enable detailed MSBUILD logs then I could identify a bit more with
the docbook problem. The detailed error message is

   Der Befehl "LC_ALL" ist entweder falsch geschrieben
   oder konnte nicht gefunden werden.

I assume this command should be executed with bash instead of cmd.exe,
what is the magic how commands are executed by cygwin bash instead of
the windows command processore?
Is it legal to set WIRESHARK_CYGWIN_INSTALL_PATH not pointing to C:\cygwin?
How can I identify what commands are really executed in this build step?

Regards
Andreas

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@wireshark.org?subject=unsubscribe