Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions .github/actions/setup-randblas-deps-windows/setup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,13 @@ function Clone-Pinned {
# portability fixes (blaspp#132, lapackpp#87). The latest release of each,
# v2025.05.28, predates all of these.
$BlasppUrl = "https://github.com/icl-utk-edu/blaspp.git"
$BlasppRef = "2d8d4e937ac46fffab33d4174a4fc7659726dbda"
# TEMPORARY PIN -- head of icl-utk-edu/blaspp#137; replace with the merge
# commit the moment it lands.
$BlasppRef = "c3ef942a0b9c86dc6c66952b58b7151f938747ca"
$LapackppUrl = "https://github.com/icl-utk-edu/lapackpp.git"
$LapackppRef = "b9439cf3c26d1655d88e7f510ae8b4f82fbeb687"
# TEMPORARY PIN -- head of icl-utk-edu/lapackpp#90; replace with the merge
# commit the moment it lands.
$LapackppRef = "f891adcb8e06afa7744ac046d96d1282bbe5388a"
$Random123Url = "https://github.com/DEShawResearch/Random123.git"
$Random123Ref = "v1.14.0"
$GTestUrl = "https://github.com/google/googletest.git"
Expand Down Expand Up @@ -217,6 +221,20 @@ foreach ($path in @($mklInclude, $mklBin) + $mklLibraries) {
$env:MKLROOT = $mklRoot
$env:PATH = "$mklBin;$env:PATH"

# Deliberately hand BLAS++ the import libraries from a path WITH a space,
# emulating Intel's default install location (C:\Program Files (x86)\...).
# This is the standing regression proof for icl-utk-edu/blaspp#137 (issue
# #188): the pinned BLAS++ must not split BLAS_LIBRARIES entries on spaces.
# Import libraries only name their DLL, which still loads from $mklBin at
# run time, so relocating them is safe.
$spacedLibDir = Join-Path $DependencyRoot "path with spaces"
New-Item -ItemType Directory -Force -Path $spacedLibDir | Out-Null
$mklLibraries = @($mklLibraries | ForEach-Object {
$target = Join-Path $spacedLibDir (Split-Path $_ -Leaf)
Copy-Item -LiteralPath $_ -Destination $target -Force
$target
})

$gtestSource = Join-Path $DependencyRoot "googletest"
$gtestVariant = if ($SanitizeAddress) { "googletest-asan" } else { "googletest" }
$gtestBuild = Join-Path $DependencyRoot "$gtestVariant-build"
Expand Down
16 changes: 12 additions & 4 deletions installers/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,12 +442,17 @@ BLASPP_URL="https://github.com/icl-utk-edu/blaspp.git"
# 2026-08-27); also contains the MSVC portability fix (PR #132). Not in a
# release yet -- the latest tag, v2025.05.28, predates both. Move to a tag
# once one includes them.
BLASPP_REF="2d8d4e937ac46fffab33d4174a4fc7659726dbda"
# TEMPORARY PIN -- the head of icl-utk-edu/blaspp#137 (space-split fix),
# fetchable from upstream via its pull ref. Replace with the merge commit
# the moment #137 lands; the PR carrying this stays a draft until then.
BLASPP_REF="c3ef942a0b9c86dc6c66952b58b7151f938747ca"

LAPACKPP_URL="https://github.com/icl-utk-edu/lapackpp.git"
# The commit that merged the LAPACK++ half of new-Accelerate support
# (lapackpp PR #88, 2026-08-27).
LAPACKPP_REF="b9439cf3c26d1655d88e7f510ae8b4f82fbeb687"
# TEMPORARY PIN -- the head of icl-utk-edu/lapackpp#90 (Accelerate-ILP64
# aliasing fix). Replace with the merge commit when #90 lands.
LAPACKPP_REF="f891adcb8e06afa7744ac046d96d1282bbe5388a"

RANDOM123_URL="https://github.com/DEShawResearch/Random123.git"
RANDOM123_REF="v1.14.0"
Expand Down Expand Up @@ -988,8 +993,11 @@ build_examples() {
# command silently builds something different from what was just installed --
# and for --blas=custom it would not run at all.
#
# Written as if-blocks rather than "[[ test ]] && append": under set -e a
# false test at the end of a list exits the script.
# if-blocks rather than "[[ test ]] && append" for readability. Note the
# set -e hazard with that construct is narrower than it looks: a top-level
# "[[ test ]] && cmd" with a false test does NOT exit (the failing command is
# exempt as part of a && list); it only bites as the last statement of a
# function, where the test's failure becomes the function's return status.
EXAMPLES_COMMAND="bash $SCRIPT_DIR/install.sh --examples --blas=$BLAS_BACKEND --project-dir=$PROJECT_DIR"
if [[ -n "$PREFIX_OVERRIDE" ]]; then
EXAMPLES_COMMAND+=" --prefix=$PREFIX_OVERRIDE"
Expand Down
Loading