Skip to content

Cannot Build parselmouth in Docker (CMake/Build Toolchain Issues) #144

@reedajorgy

Description

@reedajorgy

I am trying to install the praat-parselmouth Python package in a Docker container based on python:3.12, but the build fails due to CMake and build toolchain issues. Here are the details:

What I did:

  • Installed all required system dependencies (build-essential, ninja-build, cmake, etc.).
  • Built and installed the Praat binary from source.
  • Upgraded pip, setuptools, wheel, cmake, and scikit-build via pip.
  • Attempted to install praat-parselmouth using pip install --no-cache-dir --verbose --no-build-isolation praat-parselmouth.

What ended up happening

  • The build fails with errors related to CMake and pybind11:
    • CMake error:
      CMake Error at pybind11/CMakeLists.txt:8 (cmake_minimum_required): Compatibility with CMake < 3.5 has been removed from CMake.
    • Sometimes, the build system cannot find the Ninja generator or other build tools.
    • The wheel for praat-parselmouth fails to build, and the installation aborts.

parselmouth previously built seamlessly as per the documentation, but I am not sure where to go from here

Relevant logs:

CMake Error at pybind11/CMakeLists.txt:8 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.
...
ERROR: Failed to build installable wheels for some pyproject.toml based projects (praat-parselmouth)

I tried

  • Ensured latest CMake is installed via pip and system package manager.
  • Installed all build dependencies, including ninja-build, scikit-build, and libgtk-3-dev.
  • Verified CMake version is >= 3.5.
  • Tried both with and without --no-build-isolation.

also, here is my system info

  • Docker base image: python:3.12
  • OS: Debian-based (from official Python image)
  • CMake version: 3.29.3 (from pip)
  • pip version: 25.1.1

Any help would be greatly appreciated :)

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