Bug 1788100 - libcomps fails to build with Python 3.9
Summary: libcomps fails to build with Python 3.9
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: libcomps
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Marek Blaha
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON39
TreeView+ depends on / blocked
 
Reported: 2020-01-06 12:21 UTC by Miro Hrončok
Modified: 2020-01-17 18:12 UTC (History)
8 users (show)

Fixed In Version: cmake-3.16.1-2.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-01-17 18:12:52 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2020-01-06 12:21:49 UTC
libcomps fails to build with Python 3.9.0a2.

/builddir/build/BUILD/libcomps-libcomps-0.1.14/libcomps/src/python
Building for python3
-- Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) (Required is at least version "3.0")
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.9", minimum required is "3.0") 
/builddir/build/BUILD/libcomps-libcomps-0.1.14/libcomps/src/python/src
Building for python3
CMake Warning (dev) at src/python/pycopy.cmake:20 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:25 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:25 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:25 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:25 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:35 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at src/python/pycopy.cmake:41 (add_custom_command):
  Policy CMP0040 is not set: The target in the TARGET signature of
  add_custom_command() must exist and must be defined in the current
  directory.  Run "cmake --help-policy CMP0040" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  No TARGET 'py3-copy' has been created in this directory.
Call Stack (most recent call first):
  src/python/src/CMakeLists.txt:73 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Sphinx: /usr/bin/sphinx-build  
/builddir/build/BUILD/libcomps-libcomps-0.1.14/libcomps/src/python/docs
Building for python3
CMake Warning (dev) at tests/CMakeLists.txt:90 (target_link_libraries):
  Policy CMP0039 is not set: Utility targets may not have link dependencies.
  Run "cmake --help-policy CMP0039" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  Utility target "test_parse_run" should not be used as the target of a
  target_link_libraries call.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at tests/CMakeLists.txt:91 (target_link_libraries):
  Policy CMP0039 is not set: Utility targets may not have link dependencies.
  Run "cmake --help-policy CMP0039" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  Utility target "test_comps_run" should not be used as the target of a
  target_link_libraries call.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Doxygen: /usr/bin/doxygen (found version "1.8.16") found components: doxygen dot 
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:
PYTHON_LIBRARY (ADVANCED)
    linked by target "pycomps" in directory /builddir/build/BUILD/libcomps-libcomps-0.1.14/libcomps/src/python/src

-- Configuring incomplete, errors occurred!
See also "/builddir/build/BUILD/libcomps-libcomps-0.1.14/build-py3/CMakeFiles/CMakeOutput.log".



I must admit that I don't understand that error at all.


For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01139166-libcomps/

For all our attempts to build libcomps with Python 3.9, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/libcomps/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Let us know here if you have any questions.

Python 3.9 will be included in Fedora 33, but the initial bootstrapping has already started.
A build failure this early in the bootstrap sequence blocks us very much.

Comment 1 Marek Blaha 2020-01-07 08:11:55 UTC
The Cmake files in this project are really messy and definitely deserve some work. Anyway, this PR at least fixes Python 3.9 builds: https://github.com/rpm-software-management/libcomps/pull/64

Comment 2 Miro Hrončok 2020-01-17 18:12:52 UTC
Current libcomps build fine with updated cmake: https://src.fedoraproject.org/rpms/cmake/c/8d55c35ecb54c581f2823c563d5d562aec02c2b9?branch=master


Note You need to log in before you can comment on or make changes to this bug.