Wireshark-dev: Re: [Wireshark-dev] (1) building Wireshark in build.wireshark fails, (2) how to

From: Vincent Randal <vtrandal@xxxxxxxxx>
Date: Thu, 15 Apr 2021 09:10:46 -0600
Hi Pascal,

Where is the build log? I've since rebuilt Wireshark successfully in ./build as Graham wisely suggests. This thing is not easy to reproduce. There may be something unstable about my build environment on Ubuntu 18.04 if that even makes sense. What I do have is the build output to the terminal window. As I scroll back I can see the output shown below. It actually says "Built target qtui" which I reported incorrectly as failing to build qtui. Is there more than one qtui build target? Otherwise, the difference in build artifacts suggest that make did not have the same starting point or perhaps the same environment. As Graham suggests I won't trouble the group with things like this going forward, unless it seems important to do so.

Vincent

[In both cases the build directory is ./build.wireshare]
when make succeeds the build output prior to "Built target qtui" looks like this:
[ 70%] Building C object epan/dissectors/CMakeFiles/dissectors.dir/packet-s5066dts.c.o
[ 71%] Building C object epan/dissectors/CMakeFiles/dissectors.dir/packet-s7comm.c.o
[ 71%] Building C object epan/dissectors/CMakeFiles/dissectors.dir/packet-s7comm_szl_ids.c.o
[ 71%] Building C object epan/dissectors/CMakeFiles/dissectors.dir/packet-sadmind.c.o
[ 71%] Built target qtui
when make fails the build output prior to "Built target qtui" looks like this:
at the very end we get this:
[ 84%] Building CXX object ui/qt/CMakeFiles/qtui.dir/wlan_statistics_dialog.cpp.o
[ 85%] Building C object ui/qt/CMakeFiles/qtui.dir/wireshark-tap-register.c.o
[ 85%] Building CXX object ui/qt/CMakeFiles/qtui.dir/qtui_autogen/mocs_compilation.cpp.o
[ 85%] Building CXX object ui/qt/CMakeFiles/qtui.dir/qtui_autogen/EF4ICWSDIF/qrc_about.cpp.o
[ 85%] Building CXX object ui/qt/CMakeFiles/qtui.dir/qtui_autogen/NQCY4LEWD2/qrc_languages.cpp.o
[ 85%] Building CXX object ui/qt/CMakeFiles/qtui.dir/qtui_autogen/EF4ICWSDIF/qrc_layout.cpp.o
[ 85%] Building CXX object ui/qt/CMakeFiles/qtui.dir/qtui_autogen/EF4ICWSDIF/qrc_stock_icons.cpp.o
[ 85%] Building CXX object ui/qt/CMakeFiles/qtui.dir/qtui_autogen/EF4ICWSDIF/qrc_wsicon.cpp.o
[ 85%] Building CXX object ui/qt/CMakeFiles/qtui.dir/qtui_autogen/EJRQKI7XPS/qrc_i18n.cpp.o
[ 85%] Built target qtui
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
vtrandal@envy1vm6:~/Downloads/wireshark/build.wireshark$ cd ..

On Thu, Apr 15, 2021 at 3:02 AM Pascal Quantin <pascal@xxxxxxxxxxxxx> wrote:
Hi Vincent,

Le jeu. 15 avr. 2021 à 10:52, Vincent Randal <vtrandal@xxxxxxxxx> a écrit :
(1) There is no error message other than it fails immediately when beginning building "qtui" (at about 70% of the way into make for wireshark-3.4.4)

You should have an error message, please check above in the build log.
I just built Wireshark 3.4.4 (taken from the git tag, not the source tarball in case it matters) without any issue with an out of tree build (folder named build.wireshark) both with make and ninja, using CMake 3.16.3, Qt 5.12.8 and gcc/g++ 9.3.0 on Ubuntu 20.04.2.

(2) Good point. Wireshark uses dissectors to provide details of packets, as you point out. So then the dissector source code provides the details of the dissector.

On Thu, Apr 15, 2021 at 2:26 AM Guy Harris <gharris@xxxxxxxxx> wrote:
On Apr 15, 2021, at 12:55 AM, Vincent Randal <vtrandal@xxxxxxxxx> wrote:

> (1)  building Wireshark in build.wireshark fails
> The solution here is to use "build" as the name of the build directory and then make succeeds. Otherwise, if the build directory has some other name like build.wireshark then make fails at about 70% when building qtui.

What's the error that it reports?  I can't reproduce that on my Mac with the current tip of the main branch.

> (2) how to get dissector details without packet
> I see there is "Decode as ..." in the Analzye menu of Wireshark. That looks very useful. I think I can use that to get Wireshark to ... uh well ... decode an already decoded packet as something else.
>
> But what about something that shows me what Wireshark thinks about a dissector even without a packet? Is that possible? Can Wireshark show me the details of a dissector without a packet to dissect?

That depends on what you mean by "the details of the dissector".  Normally, what Wireshark shows is the details of a *packet*, which, obviously, requires a packet; what would the details of a *dissector* be?

___________________________________________________________________________
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@xxxxxxxxxxxxx?subject=unsubscribe
___________________________________________________________________________
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@xxxxxxxxxxxxx?subject=unsubscribe
___________________________________________________________________________
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@xxxxxxxxxxxxx?subject=unsubscribe