conda-forge / pymc-feedstock

A conda-smithy repository for pymc.
BSD 3-Clause "New" or "Revised" License
1 stars 12 forks source link

pymc v4.1.1 #49

Closed maresb closed 2 years ago

maresb commented 2 years ago

See individual commits for a breakdown of what this does.

Checklist

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

maresb commented 2 years ago

Closes #46

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

maresb commented 2 years ago

The merge conflict is a false positive due to the build number being currently 1. This particular line should not cause a merge conflict with the PR for v4.1.1.

maresb commented 2 years ago

@conda-forge-admin, please rerender

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

maresb commented 2 years ago

@conda-forge-admin, please rerender

maresb commented 2 years ago

@twiecki I got impatient waiting for the auto-tick bot and did it myself. (There is no good reason to wait.)

Could you please sanity-check this for me? My commit adding libpython was accidental as I seem to have gotten my windows mixed up.

maresb commented 2 years ago

Just to go through all the logic one last time...

We depend here on aesara-base ==2.7.4. This only exists for builds >0. (Adding aseara-base happend going from build 0 → build 1.)

The libpython story is irrelevant here, as this will get sorted out on the Aesara side. (Besides, it is only a theoretical future problem.)

When pymc is installed, this will currently depend on aesara ==2.7.4=*_1. This necessarily pulls in aesara-base ==2.7.4=*_1.

We remove runtime dependencies

        - cxx-compiler  # [not win]
        - m2w64-toolchain  # [win]
        - openblas  # [arm64]
        - mkl-service  # [not arm64]

On the other hand, Aesara adds:

        - cxx-compiler  # [not win]
        - {{ compiler('m2w64_c') }}  # [win]
        - {{ compiler('m2w64_cxx') }}  # [win]
        - openblas  # [arm64 or (python_impl == 'pypy' and py==37)]
        - mkl-service  # [not (arm64 or (python_impl == 'pypy' and py==37))]

There is a potential discrepancy here between

        - m2w64-toolchain  # [win]

and

        - {{ compiler('m2w64_c') }}  # [win]
        - {{ compiler('m2w64_cxx') }}  # [win]

Let's test this before merging.

maresb commented 2 years ago

Well, my tests are passing, so it's probably all good. I will look into the logs one last time...

maresb commented 2 years ago

Why is Python 3.7 still being targeted???

maresb commented 2 years ago

@conda-forge-admin, please rerender

github-actions[bot] commented 2 years ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/pymc-feedstock/actions/runs/2612361190.

maresb commented 2 years ago

Ok, it looks like it simply skips after starting.

BTW, we could go noarch, but then we'd lose testing, so I think it's a bad idea for now. Let's first see whether the installation problems are fixed.

maresb commented 2 years ago

It looks like pymc-base is pulling not only aesara-base but also aesara. :confused:

maresb commented 2 years ago

Found it!!! aeppl depends on aesara and not aesara-base.

twiecki commented 2 years ago

Found it!!! aeppl depends on aesara and not aesara-base.

Oh, hmmm, what can we do?

maresb commented 2 years ago

I opened https://github.com/conda-forge/aeppl-feedstock/pull/28

maresb commented 2 years ago

Status update

Currently, pymc-base implies aesara instead of just aesara-base due to the indirect dependency from aeppl. The obvious solution is to create aeppl-base so that pymc-base can depend instead on that.

The PR for aeppl-base is https://github.com/conda-forge/aeppl-feedstock/pull/30.

Once aeppl-base has been approved and merged, we need to wait ~1.5h for it to propagate to the CDN, and then restart the CI here. Then this feedstock will hopefully pass all the tests.

Once all the tests are passing, we need to check the build logs and make sure that pymc-base really does lead to a barebones installation without aesara (only aesara-base), and that there are no strange errors. Then I think we will be ready to merge.

maresb commented 2 years ago

And since tests don't run for cross-compilation, we should not forget to test the osx-arm64 packages for M1! Instructions.

Note how they currently show up green on the CI even though those packages are broken.

maresb commented 2 years ago

Interesting, we are now seeing unexpected warnings in Windows:

(%PREFIX%) %SRC_DIR%>python check-for-warnings.py allowed-warnings-base.txt 
The following warnings were emitted but not allowed:

    WARNING (aesara.configdefaults): g++ not available, if using conda: `conda install m2w64-toolchain`
    WARN: Could not locate executable gfortran
    WARN: Could not locate executable f95
    WARN: Could not locate executable g95
    WARN: Could not locate executable efort
    WARN: Could not locate executable efc
    WARN: Could not locate executable flang
    WARN: don't know how to compile Fortran code on platform 'nt'

Please either fix them or add them to the ALLOWED_WARNINGS list in check-for-warnings.py.

I suspect we need to add - m2w64-toolchain # [win] to aesara as per https://github.com/conda-forge/pymc-feedstock/pull/49#issuecomment-1174314633.

twiecki commented 2 years ago

We definitely need - m2w64-toolchain # [win].

maresb commented 2 years ago

@twiecki :+1: I just added it in https://github.com/conda-forge/aesara-feedstock/pull/88

Give me a moment to add/exercise a missing test there, and then I think we can merge. (I'll ping you when ready.)

maresb commented 2 years ago

@conda-forge-admin, please rerender

maresb commented 2 years ago

@conda-forge-admin, please rerender

github-actions[bot] commented 2 years ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/pymc-feedstock/actions/runs/2622483797.