Wireshark-dev: Re: [Wireshark-dev] Wireshark seems to require Python 3.4 or better now ...

From: Peter Wu <peter@xxxxxxxxxxxxx>
Date: Sat, 10 Nov 2018 21:10:27 +0100
On Sat, Nov 10, 2018 at 10:05:14AM -0800, Richard Sharpe wrote:
> On Sat, Nov 10, 2018 at 9:40 AM Pascal Quantin <pascal.quantin@xxxxxxxxx> wrote:
> >
> > Hi Richard,
> >
> > Le sam. 10 nov. 2018 � 18:33, Richard Sharpe <realrichardsharpe@xxxxxxxxx> a �crit :
> >>
> >> Hi folks,
> >>
> >> I am running into problems with building the latest Wireshark master
> >> release on CentOS 7.5.1804.
> >>
> >> Wireshark seems to need Python 3.4 or better, and I have Python 3.6
> >> installed and am using the software collection (scl enable rh-python36
> >> bash) but cmake 3 does not want to find it.
> >>
> >> I get:
> >>
> >>    [rsharpe@localhost wireshark-build]$ python -V
> >>    Python 3.6.3
> >>    cmake3 ../wireshark-official
> >>    ...
> >>    CMake Error at
> >> /usr/share/cmake3/Modules/FindPackageHandleStandardArgs.cmake:137
> >> (message):
> >>      Could NOT find PythonInterp: Found unsuitable version "2.7.5", but required
> >>      is at least "3.4" (found /usr/bin/python)
> >>
> >> Any suggestions?
> >
> >
> > Either clean your build folder, or edit your CMake cache file to remove the PythonInterp entry and force a new search.
> 
> It was a completely new build dir.
> 
> In the end, because I imagine the Wireshark build needs a more recent
> version of Python, but the base platform still needs Python 2.7.5, I
> went with virtualenv and it seems to have worked.
> 
>    sudo pip3.6 install virtualenv
>    virtualenv ./wireshark-master
>    cd wireshark-master/
>    source ./bin/activate
>    cmake3 /path/to/wireshark/source
> 
> seems to work.

Like Pascal said, clearing PYTHON_EXECUTABLE from your CMakeCache.txt
was sufficient (you do not have to wipe the full build directory). The
default /usr/bin/python interpreter is Python 2.7, but CMake will now
search for python3 first and use that if it is new enough.

A virtualenv could be used, but is not necessary.
-- 
Kind regards,
Peter Wu
https://lekensteyn.nl