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]

Reply via email to