Wireshark-dev: Re: [Wireshark-dev] OSX build fails

From: João Valverde <joao.valverde@xxxxxxxxxxxxxxxxxx>
Date: Wed, 22 Nov 2017 13:35:37 +0000


On 22-11-2017 12:22, Anders Broman wrote:


-----Original Message-----
From: Wireshark-dev [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of João Valverde
Sent: den 22 november 2017 13:07
To: wireshark-dev@xxxxxxxxxxxxx
Subject: Re: [Wireshark-dev] OSX build fails



On 22-11-2017 11:26, João Valverde wrote:


On 22-11-2017 11:02, Roland Knall wrote:


On Wed, Nov 22, 2017 at 11:45 AM, João Valverde
<joao.valverde@xxxxxxxxxxxxxxxxxx
<mailto:joao.valverde@xxxxxxxxxxxxxxxxxx>> wrote:



     On 22-11-2017 08:37, Roland Knall wrote:

         Might be a stupid question but on my account, only Linux
         machines are now capable of building Wireshark out of the box
         with autotools on default, right?


     I'm not sure what you mean by "on default", but it seems unlikely
     that anyone could build Wireshark without having to install at
least
     one dependency.

     BSDs usually supply a gmake command for GNU Make. Not sure if it
is
     installed by default.



Installing a dependency is  one thing, and fine by me. This includes
installing a newer version of make. But for certain builders, that
might not be an option (older Linux systems) as no packages might
exist, and they will have to build from source. In those cases,
building the make-system from source, just to use autotools is too
much to ask for in my book. All those people have already an
alternative in place though with cmake, but still, autotools sets the
bar a little higher then cmake, and that is in my opinion not a good
idea if both systems should be equal by design. So if they should be
equal, that would also require the same prerequisites, or at least
the same level of obtainability.

That would be "installing a newer version of make" on OSX because of
licensing issues.

I don't understand either your logic of build systems "equal by design".
I would hope not, that seems kind of pointless.

We are giving a lot of thought to ancient systems with all sorts of
restrictions. I don't disagree with that, it's generally a good thing
to be considerate, but it remains to be seen the impact on systems
other than OSX.

For OSX please use CMake instead.


And I would like to answer a point that is frankly starting to grate on me (please don't take that personally, it's not).

If you are installing Wireshark dependencies from binary repositories you should be installing Wireshark from a binary package too. If your vendor does not provide one >complain to them.

If you are building Wireshark from source presumably you can also install dependencies from source. It's not black magic.

Having a binary repository is in no way a requirement to use a UNIX-like system.

I think it's perhaps a case of "that was not how it used to be".

In the general case on a server shared by many it may be OK to change a self contained package ( e.g that package can use (most of) the dependencies on that system)
to a newer one than what the distribution require but more difficult to change depending packages used by several applications on the server. Also consider the case where
The "newer" Wireshak package is distributed in RPM form to many users it may not be so easy to provide RPMs for a lot of dependencies too.

It also feels like we are raising the bar on building and distribute Wireshark on older systems. Which may be OK but perhaps better done in 3.0, I think we also
Need to set the level of required packages in 3.0 and keep at that level for some time.

The issue of requiring GNU Make is completely not controversial IMHO.

Whether this particular 4.0 version is suitable is another matter. Dario pointed out that it breaks Travis with Ubuntu Trusty so I would argue that version 4.0 of GNU Make is not a suitable requirement. Especially since removing the requirement is annoying but not so onerous.