Rick van Rein created QPID-8413:
-----------------------------------
Summary: Python3 support in build scripts
Key: QPID-8413
URL: https://issues.apache.org/jira/browse/QPID-8413
Project: Qpid
Issue Type: Bug
Components: C++ Broker
Affects Versions: qpid-cpp-1.40.0
Environment: Docker build environment for Qpid,
[https://github.com/arpa2/docker-demo/tree/11429b52b9419c7f49367abe648b3bc67613bdba/build-qpid]
Imports gcc/g++ and Python3 from Debian stable in binary layers. Builds proton
but not qpid-cpp-broker.
You are welcome to "docker build ." in this directory and see it fail. It uses
qpid-cpp-broker as a git checkout from master so you can even work in there :)
Reporter: Rick van Rein
Python 2.7 is soon loosing support and as a result we gradually abandoned it in
the 2nd half of 2019. We have certainly not been early adopters!
Now, building Qpid from source, I find that it still relies on this old
version. It does not even notice though, which is not very handy in a time
that people are migrating:
{\{-- Found PythonInterp: /usr/bin/python (found suitable version "3.7.3",
minimum required is "2.7") }}
\{{-- Found PythonInterp: /usr/bin/python (found version "3.7.3") }}
\{{ File "<string>", line 1}}
{{ from distutils.sysconfig import get_python_lib; print get_python_lib(False,
prefix='/usr/local').replace('
', '/')}}
\{{ ^}}
{{SyntaxError: invalid syntax}}
{{CMake Error at managementgen/CMakeLists.txt:34 (install):}}
\{{ install DIRECTORY given no DESTINATION!}}
Python3 bails out with an error, about the lack of parenthesis, but CMake
concludes its own things. Looking silly. It does continue to one more similar
error:
{{-- Regenerating Qpid Management Framework sources}}
\{{ File "/usr/local/src/qpid-cpp-broker.git/managementgen/qmf-gen", line 64}}
\{{ print "no input files"}}
\{{ ^}}
{{SyntaxError: Missing parentheses in call to 'print'. Did you mean print("no
input files")?}}
{{CMake Error at src/CMakeLists.txt:141 (include):}}
\{{ include could not find load
file:}}{{/usr/local/src/qpid-cpp-broker.git/build/src/managementgen.cmake}}
{{CMake Error at /usr/share/cmake-3.13/Modules/FindBoost.cmake:2100
(message):}}
\{{ Unable to find the requested Boost libraries.}}{{Unable to find the Boost
header files. Please set BOOST_ROOT to the root}}
\{{ directory containing Boost or BOOST_INCLUDEDIR to the directory
containing}}
\{{ Boost's headers.}}
{{Call Stack (most recent call first):}}
\{{ src/CMakeLists.txt:194 (find_package)}}
{{CMake Error at /usr/share/cmake-3.13/Modules/FindBoost.cmake:2100
(message):}}
\{{ Unable to find the requested Boost libraries.}}{{Unable to find the Boost
header files. Please set BOOST_ROOT to the root}}
\{{ directory containing Boost or BOOST_INCLUDEDIR to the directory
containing}}
\{{ Boost's headers.}}
{{Call Stack (most recent call first):}}
\{{ src/CMakeLists.txt:208 (find_package)}}
{{CMake Error at src/CMakeLists.txt:210 (message):}}
\{{ Required Boost C++ libraries not found. Please install or try setting}}
\{{ BOOST_ROOT}}
{{-- Configuring incomplete, errors occurred!}}
Again, the parenthesis of print. And again, CMake concludes its own things,
presumably from the exit value.
I don't believe I am being a Python3 pusher at this time, not anymore; last
year it has been anounced that Python2.7 would be gone at the start of 2020.
(I checked again and found it is now set at [April
2020|http://pyfound.blogspot.com/2019/12/python-2-sunset.html[],] but still
very soon.)
Please update Qpid accordingly, so people relying on Python3 for
security/updates have a way to continue using/building Qpid? By now, everyone
should at least be able to run Python3, or else that is a fair upgrade
expectation, as it will soon be the only real Python left.
Thanks!
-Rick
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]