Skip to content

fix: pin "which" dep at 2.21 & build h0b41bf4_1#2325

Merged
jkjkim merged 1 commit intoucb-bar:mainfrom
jimfangx:pin-which-dep
Feb 27, 2026
Merged

fix: pin "which" dep at 2.21 & build h0b41bf4_1#2325
jkjkim merged 1 commit intoucb-bar:mainfrom
jimfangx:pin-which-dep

Conversation

@jimfangx
Copy link
Contributor

tldr: the which package had a upstream update that included set -x and set -e in its conda activation script, which breaks the user terminal when the user performs . env.sh after rebuilding the conda lockfile and resetting up Chipyard.

when we regenerate the conda lock file using ${CY}/scripts/conda-lockfiles.sh (which is needed if sysroot_linux-64=2.28 version in ${CY}/conda-reqs/chipyard-base.yaml is higher than the glibc (ldd --version) version on the server CY is run on -- often needed on servers w/ eda tools) it bumps the which package which to version 2.23, which contains the following in the shell script [at ${CY}/.conda-env/etc/conda/activate.d] that is run during conda activation:

set -x
set -e
if [ "${SHELL}" = "/bin/bash" ]; then
    if [ "$(type -t which)" = "alias" ]; then
        unalias which
    elif [ "$(type -t which)" = "function" ]; then
        unset -f which
    fi
fi

the set -x and set -e gets sourced into the current terminal when we . env.sh and breaks the user terminal.

image

This PR pins the which dep in chipyard-extended.yaml to the version and build that exists in the current lockfile, so which doesn't get bumped when the lockfile is rebuilt.

Related PRs / Issues:

Type of change:

  • Bug fix
  • New feature
  • Other enhancement

Impact:

  • RTL change
  • Software change (RISC-V software)
  • Build system change
  • Other

Contributor Checklist:

  • Did you set main as the base branch?
  • Is this PR's title suitable for inclusion in the changelog and have you added a changelog:<topic> label?
  • Did you state the type-of-change/impact?
  • Did you delete any extraneous prints/debugging code?
  • Did you mark the PR with a changelog: label?
  • (If applicable) Did you update the conda .conda-lock.yml file if you updated the conda requirements file?
  • (If applicable) Did you add documentation for the feature?
  • (If applicable) Did you add a test demonstrating the PR?
  • (If applicable) Did you mark the PR as Please Backport?

CI Help:
Add the following labels to modify the CI for a set of features.
Generally, a label added only affect subsequent changes to the PR (i.e. new commits, force pushing, closing/reopening).
See ci:* for full list of labels:

  • ci:fpga-deploy - Run FPGA-based E2E testing
  • ci:local-fpga-buildbitstream-deploy - Build local FPGA bitstreams for platforms that are released
  • ci:disable - Disable CI

changelog:fixed

@jkjkim jkjkim merged commit 55cd603 into ucb-bar:main Feb 27, 2026
68 of 72 checks passed
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