Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

mamba failed to parse complicated re package spec as conda #3169

Closed
3 tasks done
holymonson opened this issue Feb 2, 2024 · 7 comments · Fixed by #3239
Closed
3 tasks done

mamba failed to parse complicated re package spec as conda #3169

holymonson opened this issue Feb 2, 2024 · 7 comments · Fixed by #3239
Assignees
Labels
type::bug Something isn't working

Comments

@holymonson
Copy link

holymonson commented Feb 2, 2024

Troubleshooting docs

  • My problem is not solved in the Troubleshooting docs

Anaconda default channels

  • I do NOT use the Anaconda default channels (pkgs/* etc.)

How did you install Mamba?

Mambaforge or latest Miniforge

Search tried in issue tracker

#1853

Latest version of Mamba

  • My problem is not solved with the latest version

Tried in Conda?

I do not have this problem with Conda, just with Mamba

Describe your issue

Here is a complicated package spec libblas[build=^.*(accelerate|mkl)$], conda could parse it correctly and give libblas-3.9.0-21_osx64_accelerate, while mamba wrongly gives libblas-3.9.0-21_osx64_openblas. It seems mamba simply omitted those selectors.

mamba info / micromamba info

__    __    __    __
                 /  \  /  \  /  \  /  \
                /    \/    \/    \/    \
███████████████/  /██/  /██/  /██/  /████████████████████████
              /  / \   / \   / \   / \  \____
             /  /   \_/   \_/   \_/   \    o \__,
            / _/                       \_____/  `
            |/
        ███╗   ███╗ █████╗ ███╗   ███╗██████╗  █████╗
        ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
        ██╔████╔██║███████║██╔████╔██║██████╔╝███████║
        ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
        ██║ ╚═╝ ██║██║  ██║██║ ╚═╝ ██║██████╔╝██║  ██║
        ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚═╝  ╚═╝

        mamba (1.4.2) supported by @QuantStack

        GitHub:  https://github.com/mamba-org/mamba
        Twitter: https://twitter.com/QuantStack

█████████████████████████████████████████████████████████████


     active environment : grb
    active env location : /usr/local/conda/envs/grb
            shell level : 2
       user config file : /Users/monson/.condarc
 populated config files : /usr/local/Caskroom/mambaforge/base/.condarc
                          /Users/monson/.config/conda/condarc
          conda version : 23.3.1
    conda-build version : not installed
         python version : 3.10.12.final.0
       virtual packages : __archspec=1=x86_64
                          __osx=12.7.3=0
                          __unix=0=0
       base environment : /usr/local/Caskroom/mambaforge/base  (writable)
      conda av data dir : /usr/local/Caskroom/mambaforge/base/etc/conda
  conda av metadata url : None
           channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/osx-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch
          package cache : /Users/monson/Library/Caches/conda/pkgs
       envs directories : /usr/local/conda/envs
                          /Users/monson/.conda/envs
                          /usr/local/Caskroom/mambaforge/base/envs
               platform : osx-64
             user-agent : conda/23.3.1 requests/2.31.0 CPython/3.10.12 Darwin/21.6.0 OSX/12.7.3
                UID:GID : 1000:20
             netrc file : None
           offline mode : False

Logs

<omit>

Looking for: ["libblas[build='^.*(accelerate|mkl)$']"]


info     libmamba Reading cache files '/var/folders/9j/yfdks5ds49dgpm0196xnbn_h0000z8/T/tmpzdjz9uo6.*' for repo index 'installed'
info     libsolv  number of solvables: 567395, memory used: 31029 K
info     libsolv  number of ids: 214541 + 312444
info     libsolv  string memory used: 838 K array + 3183 K data,  rel memory used: 3661 K array
info     libsolv  string hash memory: 2048 K, rel hash memory : 4096 K
info     libsolv  provide ids: 23120
info     libsolv  provide space needed: 590517 + 624888
info     libsolv  shrunk whatprovidesdata from 590517 to 590517
info     libsolv  shrunk whatprovidesauxdata from 590517 to 567394
info     libsolv  whatprovides memory used: 2062 K id array, 4747 K data
info     libsolv  whatprovidesaux memory used: 838 K id array, 2216 K data
info     libsolv  createwhatprovides took 52 ms
info     libmamba Parsing MatchSpec libblas[build='^.*(accelerate|mkl)$']
info     libmamba Parsing MatchSpec libblas[build='^.*(accelerate|mkl)$']
info     libmamba Adding job: libblas[build='^.*(accelerate|mkl)$']
info     libsolv  solver started
info     libsolv  dosplitprovides=0, noupdateprovide=0, noinfarchcheck=0
info     libsolv  allowuninstall=0, allowdowngrade=1, allownamechange=1, allowarchchange=0, allowvendorchange=0
info     libsolv  dupallowdowngrade=1, dupallownamechange=1, dupallowarchchange=1, dupallowvendorchange=1
info     libsolv  promoteepoch=0, forbidselfconflicts=0
info     libsolv  obsoleteusesprovides=0, implicitobsoleteusesprovides=0, obsoleteusescolors=0, implicitobsoleteusescolors=0
info     libsolv  dontinstallrecommended=0, addalreadyrecommended=0 onlynamespacerecommended=0
info     libsolv  obsoletes data: 1 entries
info     libsolv  added 0 pkg rules for installed solvables
info     libsolv  added 0 pkg rules for updaters of installed solvables
info     libsolv  added 76156 pkg rules for packages involved in a job
info     libsolv  added 0 pkg rules because of weak dependencies
info     libsolv  493 of 567394 installable solvables considered for solving
info     libsolv  pruned rules from 76157 to 76157
info     libsolv    binary: 75677
info     libsolv    normal: 479, 13214 literals
info     libsolv  pkg rule memory used: 1784 K
info     libsolv  pkg rule creation took 56 ms
info     libsolv  job: install providing libblas
info     libsolv    - job Rule #76163:
info     libsolv      libblas-3.8.0-10_blis [111442] (w1)
<omit similar lines>
info     libsolv      libblas-3.9.0-21_osx64_accelerate [329501]
info     libsolv      libblas-3.9.0-21_osx64_blis [329502]
info     libsolv      libblas-3.9.0-21_osx64_openblas [329503]
info     libsolv      next rules: 0 0
info     libsolv  choice rule creation took 1 ms
info     libsolv  76156 pkg rules, 2 * 3 update rules, 1 job rules, 0 infarch rules, 0 dup rules, 0 choice rules, 0 best rules, 0 yumobs rules
info     libsolv  0 black rules, 0 recommends rules, 0 repo priority rules
info     libsolv  overall rule memory used: 1785 K
info     libsolv  solving...
info     libsolv  resolving job rules
info     libsolv  prune_to_best_version_conda 132
info     libsolv  - libblas-3.8.0-10_blis [111442]
<omit similar lines>
info     libsolv  - libblas-3.9.0-21_osx64_accelerate [329501]
info     libsolv  - libblas-3.9.0-21_osx64_blis [329502]
info     libsolv  - libblas-3.9.0-21_osx64_openblas [329503]
info     libsolv  installing libblas-3.9.0-21_osx64_openblas

<omit>

environment.yml

name: grb-test
channels:
  - conda-forge
dependencies:
  - libblas[build=^.*(accelerate|mkl)$]

~/.condarc

No response

@jonashaag jonashaag added the type::bug Something isn't working label Feb 2, 2024
@jonashaag
Copy link
Contributor

Do the selectors work when not using regexes but simple wildcards?

@holymonson
Copy link
Author

Do the selectors work when not using regexes but simple wildcards?

yes

@holymonson
Copy link
Author

cc @jaimergp @AntoinePrv @wolfv

@AntoinePrv
Copy link
Member

Hello, yes I can confirm this is not implemented, neither in libolv, nor (yet) in our replacement.

@AntoinePrv AntoinePrv self-assigned this Feb 7, 2024
@jaimergp
Copy link
Contributor

jaimergp commented Feb 8, 2024

This is a duplicate of #1853.

I submitted a PR for libsolv at openSUSE/libsolv#506, but it never received attention.

@jonashaag
Copy link
Contributor

Try pinging the maintainer, worked for me

@AntoinePrv
Copy link
Member

We'll soon be able to provided our own matchspec, so the PR is not strictly required.
(matchspecs inside repodata.json are still being adressed by libsolv for now, as we would need to investigate if our MatchSpec bring a performance hit).

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
type::bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants