Bug 1705427

Summary: csdiff FTBFS with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: csdiffAssignee: Kamil Dudka <kdudka>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jwakely, kdudka, svashisht
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: csdiff-1.6.1-1.fc31 csdiff-1.6.1-1.fc30 csdiff-1.6.1-1.fc29 csdiff-1.6.1-1.el7 csdiff-1.6.1-1.el6 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-11 01:57:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-05-02 09:18:38 UTC
Created attachment 1561455 [details]
Full log from Copr

csdiff 1.6.0-2.fc31 fails to see boost when building with Python 3.8:

+ /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON .. -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBOOST_PYTHON_LIB_NAME=boost_python3
-- The CXX compiler identification is GNU 9.0.1
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python3 (found version "3.8") 
-- Found PythonLibs: /usr/lib64/libpython3.8m.so (found version "3.8.0a3") 
-- PYTHON_INCLUDE_DIR: /usr/include/python3.8m
-- PYTHON_SITEARCH: /usr/lib64/python3.8/site-packages
-- python binding enabled, the pycsdiff module will be built!
-- Configuring incomplete, errors occurred!
See also "/builddir/build/BUILD/csdiff-1.6.0/csdiff_build_py3/CMakeFiles/CMakeOutput.log".
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
BOOST_PYTHON
    linked by target "pycsdiff" in directory /builddir/build/BUILD/csdiff-1.6.0

error: Bad exit status from /var/tmp/rpm-tmp.R0wrPw (%build)


That is with boost-python3 and boost-devel 1.69.0-6.fc31 installed.

Full log attached.

If you want to reproduce in mock, grab the config from https://copr.fedorainfracloud.org/coprs/g/python/python3.8/

CCing redi, this might be a boost bug.

Comment 1 Jonathan Wakely 2019-05-02 09:44:49 UTC
(In reply to Miro Hrončok from comment #0)
> Created attachment 1561455 [details]
> Full log from Copr
> 
> csdiff 1.6.0-2.fc31 fails to see boost when building with Python 3.8:
> 
> + /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG
> -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG
> -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG
> -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr
> -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64
> -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share
> -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON ..
> -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBOOST_PYTHON_LIB_NAME=boost_python3

That looks wrong, the boost python lib name is boost_python%{python3_version_nodots} not boost_python3

Comment 2 Kamil Dudka 2019-05-02 10:04:37 UTC
(In reply to Jonathan Wakely from comment #1)
> That looks wrong, the boost python lib name is
> boost_python%{python3_version_nodots} not boost_python3

Thanks for the hint!  Fixed upstream:

https://github.com/kdudka/csdiff/commit/1b6680c5

Comment 3 Kamil Dudka 2019-05-02 10:14:23 UTC
The problem is that it is still boost_python3 on Fedora 29:

% rpm -q boost-python3-devel
boost-python3-devel-1.66.0-14.fc29.x86_64

% rpm -ql boost-python3-devel
/usr/lib64/libboost_numpy3.so
/usr/lib64/libboost_python3.so
/usr/share/licenses/boost-python3-devel
/usr/share/licenses/boost-python3-devel/LICENSE_1_0.txt

What is the suggested way to make the spec file work for all supported OS releases?

Comment 4 Jonathan Wakely 2019-05-02 12:45:27 UTC
I have no suggestion. I guess you'll need to fork the spec file for F29, or do something conditional based on the release.

Comment 5 Kamil Dudka 2019-05-02 15:41:13 UTC
Thanks!  Got it.  I ended up with the following upstream patch:

https://github.com/kdudka/csdiff/commit/9182e18b

Comment 6 Fedora Update System 2019-05-02 16:27:53 UTC
csdiff-1.6.1-1.fc30 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-5228a69bf1

Comment 7 Fedora Update System 2019-05-02 16:27:56 UTC
csdiff-1.6.1-1.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-a122edd205

Comment 8 Fedora Update System 2019-05-02 16:28:00 UTC
csdiff-1.6.1-1.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-49890e16eb

Comment 9 Fedora Update System 2019-05-02 16:28:03 UTC
csdiff-1.6.1-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-5533a53842

Comment 10 Fedora Update System 2019-05-03 04:12:27 UTC
csdiff-1.6.1-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-5228a69bf1

Comment 11 Fedora Update System 2019-05-03 04:26:17 UTC
csdiff-1.6.1-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-5533a53842

Comment 12 Fedora Update System 2019-05-03 04:52:58 UTC
csdiff-1.6.1-1.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-a122edd205

Comment 13 Fedora Update System 2019-05-03 05:41:49 UTC
csdiff-1.6.1-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-49890e16eb

Comment 14 Fedora Update System 2019-05-11 01:57:24 UTC
csdiff-1.6.1-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2019-05-11 02:37:21 UTC
csdiff-1.6.1-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2019-05-18 02:48:43 UTC
csdiff-1.6.1-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2019-05-18 03:29:33 UTC
csdiff-1.6.1-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.