Skip to content

BUG: downstream testing failures on ubuntu+conda due to libstdc++.so.6 linkage issue #18626

@MilesCranmer

Description

@MilesCranmer

Describe your issue.

Starting last night, I started seeing downstream CI testing failures on Ubuntu, across all Python versions tested (3.8, 3.9, 3.10, 3.11). One example is given here: https://github.com/MilesCranmer/PySR/actions/runs/5168482287. This installation method tests whether a conda-forge installed version of pysr (which has scipy as an indirect dependency) is working. I test both mamba and conda as well but this does not change the behavior. This is otherwise a very stable set of tests, with occasional failures on a single OS+Python version. But it is rare to see all Python versions fail in sync like this.

This might not be due to a change in scipy, but a change in a dependency that breaks the linkage to libstdc++. However, whatever change happened currently breaks the scipy build on ubuntu+conda, across all python versions.

These are the dependencies of PySR:

sympy
pandas
numpy
scikit_learn>=1.0.0
julia>=0.6.0
click>=7.0.0
setuptools>=50.0.0

Of these, only scikit-learn directly depends on scipy.

Reproducing Code Example

# (This is a GitHub action definition)
name: conda-forge

on:
  schedule:
    # Run at the 0th minute of the 10th hour (UTC).
    # This means the job will run at 5am EST.
    - cron: "0 10 * * *"
    # This will automatically run on master branch only.
  workflow_dispatch:

jobs:
  conda_test:
    runs-on: ${{ matrix.os }}
    timeout-minutes: 60
    defaults:
      run:
        shell: bash -l {0}
    strategy:
      fail-fast: false
      matrix:
        python-version: ['3.8', '3.9', '3.10', '3.11']
        os: ['ubuntu-latest', 'macos-latest']
        use-mamba: [true, false]
    
    steps:
      - name: "Set up Conda"
        uses: conda-incubator/setup-miniconda@v2
        with:
          miniforge-variant: Mambaforge
          miniforge-version: latest
          auto-activate-base: true
          python-version: ${{ matrix.python-version }}
          activate-environment: pysr-test
      - name: "Install pysr with mamba"
        run: conda activate pysr-test && mamba install pysr
        if: ${{ matrix.use-mamba }}
      - name: "Install pysr with conda"
        run: conda activate pysr-test && conda install pysr
        if: ${{ !matrix.use-mamba }}
      - name: "Run tests"
        run: python -m pysr.test main

Error message

Run python -m pysr.test main
  python -m pysr.test main
  shell: /usr/bin/bash -l {0}
  env:
    INPUT_RUN_POST: true
    CONDA: /usr/share/miniconda3
    CONDA_PKGS_DIR: /home/runner/conda_pkgs_dir
ERROR: Unable to dlopen(cxxpath) in parent!
Message: /usr/share/miniconda3/envs/pysr-test/lib/python3.10/site-packages/scipy/sparse/../../../../libstdc++.so.6GB?`�: cannot open shared object file: No such file or directory

Additional info

Here is the recipe file that PySR uses:

https://github.com/conda-forge/pysr-feedstock/blob/6b5be685bf409af2304d18b94181db87c7c90843/recipe/meta.yaml#L28-L38

with the relevant conda dependencies here:

  run:
    - python
    - pyjulia >=0.6.0
    - julia
    - numpy >=1.14.0
    - pandas
    - sympy
    - scikit-learn >=1.0.0
    - click >=7.0.0
    - openlibm
    - openspecfun

Metadata

Metadata

Assignees

No one assigned

    Labels

    defectA clear bug or issue that prevents SciPy from being installed or used as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions