Skip to content

Use Meson subprojects to allow a system version of Boost, Qhull, & co #17751

@rgommers

Description

@rgommers

This can be done to make distro packagers happy, without introducing more issues around having extra build time dependencies or different versions of dependencies. https://mesonbuild.com/Subprojects.html#toggling-between-system-libraries-and-embedded-sources explains most of how that works. The one thing it does not show is how to restrict dependency(...) to a single version, but that is possible. That way, if the system has the right version of a library available already, it can be used. And if it's not found, we use our vendored copy (in the SciPy source tree or in a git submodule).

This came up several times:

  • recently for Qhull, which conda-forge builds separately (see this mailing list thread),
  • for Boost in BUG: problem with building scipy against system boost #15260 (Boost is less interesting because it's header-only, but still some people seem to care)
  • the Fortran-lang folks have asked about relying on their Minpack in the future (could be vendored still of course)
  • there's other libraries that I can't remember questions about, but may be present in distros (ARPACK-ng, HiGHS, etc.)

This is not high-prio, but it would be nice to implement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Build issuesIssues with building from source, including different choices of architecture, compilers and OSMesonItems related to the introduction of Meson as the new build system for SciPyenhancementA new feature or improvement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions