spoa server fails to build when python3.8 is not available. If
python3-config --embed fails, the output of the command is registered in
check_python_config.  However when it's later used to define
PYTHON_DEFAULT_INC and PYTHON_DEFAULT_LIB it's content does not match
and fallback to python2.7

Content of check_python_config when building with python3.6:

  Usage: bin/python3-config 
--prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir
 python3

As we are only looking for return code, this commit ensure we always
ignore the output of python3-config or hash commands.
---
 contrib/spoa_server/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/contrib/spoa_server/Makefile b/contrib/spoa_server/Makefile
index e7b20db4c00f..5de6135ec7d6 100644
--- a/contrib/spoa_server/Makefile
+++ b/contrib/spoa_server/Makefile
@@ -25,9 +25,9 @@ ifneq ($(USE_PYTHON),)
 OBJS += ps_python.o
 
 # "--embed" flag is supported (and required) only from python 3.8+
-check_python_config := $(shell if python3-config --embed; then echo 
"python3.8+"; \
-elif hash python3-config; then echo "python3"; \
-elif hash python-config; then echo "python2"; fi)
+check_python_config := $(shell if python3-config --embed > /dev/null 2>&1 ; 
then echo "python3.8+"; \
+elif hash python3-config > /dev/null 2>&1 ; then echo "python3"; \
+elif hash python-config > /dev/null 2>&1 ; then echo "python2"; fi)
 
 ifeq ($(check_python_config), python3.8+)
 PYTHON_DEFAULT_INC := $(shell python3-config --includes)

Reply via email to