Skip to content

Clean-up package & repo#20

Merged
jared321 merged 11 commits into
mainfrom
19FixupPackage
Feb 16, 2026
Merged

Clean-up package & repo#20
jared321 merged 11 commits into
mainfrom
19FixupPackage

Conversation

@jared321

@jared321 jared321 commented Dec 15, 2025

Copy link
Copy Markdown
Collaborator

The proposed changes

Pending tasks

  • Create a feature branch on Taweret that simplifies the installation docs in light of these changes
  • Study if builds can still proceed if an old v3 version of Eigen exists and is found by Meson

Tentative PR Self-review

  • Carefully review all changes
  • Confirm that all tox tasks run locally with no meson, ninja, or eigen installed
    • tox logs indicate the need to install both in a build venv
    • Reporting correct package version number
  • Confirm that C++ build script is building and installing CLTs correctly with manually installed meson and ninja
    • macOS v14.8.3
    • clang++ v16.0.0
    • Open-MPI v5.0.9 installed by homebrew.
    • meson v1.10.1 installed from homebrew
    • ninja v1.13.2 installed from homebrew
    • brew cleanup --prune=all -s
    • Removed pre-existing builddir, subpackage downloads, & subpackage cache to ensure that we pull down eigen
    • Confirmed that eigen v5.0.1 is pulled down and installed automatically when eigen not in system
    • Confirmed that both eigen v5.0.1 and v3.4.1 installed via homebrew were found and used bymeson so long as pkgconf was also installed by homebrew to provide pkg-config. Curiously the package is referred to by eigen3 in pkg-config for both versions.
    • For all, reviewed compiler flags to ensure use of intended installations
    • For all, otool -L on installed CLTs looks good and on intermediate library as well
  • Confirm correct build/installation of Python package from source with no meson or ninja installations present
    • Cleaned all build products from last test
    • In Python project folder
      • removed build and cpp/builddir and
      • confirmed nothing in subproject folder
    • macOS v14.8.3
    • clang++ v16.0.0
    • Open-MPI v5.0.9 installed by homebrew.
    • Removed meson and ninja homebrew installations, cleaned homebrew cache, and confirmed no meson or ninja in PATH.
    • Created new venv with Python v3.14.3 and updated pip
    • Cleared pip's cache with python -m pip cache purge
    • Confirmed that Eigen v5.0.1 is installed automatically when eigen not in system
    • Confirmed that both Eigen v5.0.1 and v3.4.1 installed via homebrew were found and used by Meson so long as pkgconf was also installed by homebrew to provide pkg-config.
    • For all, otool -L on CLTs installed in Python package installation looks good
    • For all, ran Python package's test suite and confirm successful execution
    • For all, inspected logs to confirm that
      • ninja-1.13.0 was pulled down and installed automatically in build venv by pip
      • meson-1.10.1 was pulled down and installed automatically in build venv by pip
      • compiler flags indicate usage of intended installations
    • For all, confirm correct openbtmixing package version being used
  • Confirm with manual installations that Taweret installs proceed as desired with no ninja or meson installations and
    • no eigen installations
    • pre-existing v3 eigen homebrew installation
    • pre-existing v5 eigen homebrew installation
  • Review logs of a few actions to confirm that ninja/meson installation and package building progresses as expected
  • On Taweret feature branch, alter Taweret actions to install openbtmixing from this branch rather than PyPI and confirm that its actions are passing as expected
  • Confirm all actions passing

Without this change, Meson failed in a macOS system with no ninja installation.
With the change, it installed and the package tests ran through successfully.
@jared321 jared321 self-assigned this Dec 15, 2025
This was the only Intel-based macOS runner that we were running on.  So include
the macOS-15-intel runner now as well.
According to exclude comments in test_py_sdist, MPICH and Ubuntu 24 don't work
correctly.
Build fails if you try to build with C++-11 standard with error message that
states that 14 is needed.
These lines were originally in the Taweret installations docs.  However, they
are most useful here.  They are being simultaneously removed from the Taweret
docs.  This (hopefully) finalizes the decoupling of these two packages.
Installation logs generated when installing the package indicate that the codecs
package is now deprecated.   We followed suggestions in the log to just use
open.  This issue was already found and handled identically with surmise.  IIRC,
the use of codecs was actually causing issues with surmise at some point.

I did one successful build with these changes in place.
See notes in test_py_sdist.yml
@jared321
jared321 requested a review from jcyannotty February 13, 2026 23:04
@jared321
jared321 merged commit 1e2de79 into main Feb 16, 2026
76 of 82 checks passed
@jared321
jared321 deleted the 19FixupPackage branch February 16, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants