Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 06 Sep 2019 04:36:44 +0000
From:      bugzilla-noreply@freebsd.org
To:        python@FreeBSD.org
Subject:   [Bug 240343] x11-themes/plasma5-breeze-gtk: does not build if lang/python37 is installed
Message-ID:  <bug-240343-21822-PIZva2enNO@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-240343-21822@https.bugs.freebsd.org/bugzilla/>
References:  <bug-240343-21822@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240343

--- Comment #7 from Ting-Wei Lan <lantw44@gmail.com> ---
(In reply to Kubilay Kocak from comment #6)
plasma5-breeze-gtk does nothing special here. It just uses
find_package(Python3) provided by CMake upstream with two lines of code.

  find_package(Python3 COMPONENTS Interpreter REQUIRED)
  set(PYTHON_EXECUTABLE "${Python3_EXECUTABLE}")

The find stratagy is provided by CMake upstream. It can be found in
/usr/local/share/cmake/Modules/FindPython/Support.cmake, and it is documented
at https://cmake.org/cmake/help/v3.15/module/FindPython3.html. After adding 
message() calls to debug the module, I think the reason that setting
Python3_EXECUTABLE doesn't work for Python3_FIND_STRATEGY=VERSION is that it
always iterates through the list of known python versions, which starts at 3.8.
Since ${PYTHON_CMD} (3.6) specified with Python3_EXECUTABLE doesn't match the
requirement (3.8) exactly, _python_validate_interpreter resets
Python3_EXECUTABLE to Python3_EXECUTABLE-NOTFOUND. Therefore, all find_program
calls after the first _python_validate_interpreter don't see Python3_EXECUTABLE
set on the command line, and they just use its own way to find python.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-240343-21822-PIZva2enNO>