Skip to content

Building kenlm fails using new cmake 4.0 #462

@FredHaa

Description

@FredHaa

Cmake 4.0.0 which was just released deprecates a feature required to build kenlm.

Since the pyproject.toml in kenlm doesn't specify the cmake version, it pulls the newest, and the build fails.

   × Failed to build `kenlm==0.2.0`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit
      status: 1)

      [stdout]
      Will build with KenLM max_order set to 6
      running bdist_wheel
      running build
      running build_ext
      -- Configuring incomplete, errors occurred!

      [stderr]
      CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 3.5 has been removed from CMake.

        Update the VERSION argument <min> value.  Or, use the <min>...<max>
      syntax
        to tell CMake that the project requires at least <min> but has been
      updated
        to work with policies introduced by <max> or earlier.

        Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.

      
      Traceback (most recent call last):
        File "<string>", line 11, in <module>
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/build_meta.py",
      line 435, in build_wheel
          return _build(['bdist_wheel'])
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/build_meta.py",
      line 426, in _build
          return self._build_with_temp_dir(
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/build_meta.py",
      line 407, in _build_with_temp_dir
          self.run_setup()
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/build_meta.py",
      line 522, in run_setup
          super().run_setup(setup_script=setup_script)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/build_meta.py",
      line 320, in run_setup
          exec(code, locals())
        File "<string>", line 124, in <module>
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/__init__.py",
      line 117, in setup
          return distutils.core.setup(**attrs)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/core.py",
      line 186, in setup
          return run_commands(dist)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/core.py",
      line 202, in run_commands
          dist.run_commands()
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/dist.py",
      line 1002, in run_commands
          self.run_command(cmd)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/dist.py",
      line 1104, in run_command
          super().run_command(command)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/dist.py",
      line 1021, in run_command
          cmd_obj.run()
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/command/bdist_wheel.py",
      line 370, in run
          self.run_command("build")
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/cmd.py",
      line 357, in run_command
          self.distribution.run_command(command)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/dist.py",
      line 1104, in run_command
          super().run_command(command)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/dist.py",
      line 1021, in run_command
          cmd_obj.run()
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/command/build.py",
      line 135, in run
          self.run_command(cmd_name)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/cmd.py",
      line 357, in run_command
          self.distribution.run_command(command)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/dist.py",
      line 1104, in run_command
          super().run_command(command)
        File
      "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmp0EEaoD/lib/python3.10/site-packages/setuptools/_distutils/dist.py",
      line 1021, in run_command
          cmd_obj.run()
        File "<string>", line 104, in run
        File
      "/opt/hostedtoolcache/Python/3.10.12/x64/lib/python3.10/subprocess.py",
      line 369, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake',
      '/home/runner/work/_temp/setup-uv-cache/sdists-v9/pypi/kenlm/0.2.0/rRoVVsw29L9RVDFRk2RF3/src',
      '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/runner/work/_temp/setup-uv-cache/sdists-v9/pypi/kenlm/0.2.0/rRoVVsw29L9RVDFRk2RF3/src/build/lib.linux-x86_64-cpython-310',
      '-DBUILD_SHARED_LIBS=ON', '-DBUILD_PYTHON_STANDALONE=ON',
      '-DKENLM_MAX_ORDER=6', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero
      exit status 1.

      hint: This usually indicates a problem with the package or the build
      environment.

export CMAKE_POLICY_VERSION_MINIMUM=3.5 works, but in order for it to work properly across build environments, it should be fixed in the package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions