Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Combine multiple migrations #23

Merged
merged 17 commits into from
Dec 22, 2020
Merged

Combine multiple migrations #23

merged 17 commits into from
Dec 22, 2020

Conversation

jan-janssen
Copy link
Member

@jan-janssen jan-janssen commented Dec 19, 2020

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-linter
Copy link

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.

I do have some suggestions for making it better though...

For recipe:

  • Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [32, 40].
  • License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@jan-janssen
Copy link
Member Author

@conda-forge-admin, please rerender

@conda-forge-linter
Copy link

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.

I do have some suggestions for making it better though...

For recipe:

  • License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@jan-janssen
Copy link
Member Author

@conda-forge-admin, please rerender

@jan-janssen
Copy link
Member Author

For some reason the Linux build is only for boost-cpp 1.74 while Mac OS X is build for 1.72 and 1.74 - for now I restricted mshr to 1.74 and higher

@jan-janssen
Copy link
Member Author

@minrk and @jbweston Can you take a look?

recipe/meta.yaml Outdated
@@ -26,18 +26,18 @@ requirements:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
- boost-cpp
- boost-cpp >=1.74
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would remove the global pinning

recipe/meta.yaml Outdated
@@ -26,18 +26,18 @@ requirements:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
- boost-cpp
- boost-cpp >=1.74
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this change? This will hinder future boost-cpp migrations

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Isuru always faster :D)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From above: For some reason the Linux build is only for boost-cpp 1.74 while Mac OS X is build for 1.72 and 1.74 - for now I restricted mshr to 1.74 and higher

Copy link
Member

@mbargull mbargull Dec 22, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd assume this was only a misinterpretation of the selector which reads "do boost 1.72 and 1.74, unless on ARM Macs, for those only 1.74".

@jan-janssen
Copy link
Member Author

@conda-forge-admin, please rerender

@jan-janssen
Copy link
Member Author

When I remove the boost restriction the boost 1.72 builds fail. The reason is that fenics is only build once for boost 1.74 on linux and twice on mac os x for 1.72 and 1.74 - conda-forge/fenics-feedstock#122 - But I am not sure how to trigger two different builds for boost 1.72 and 1.74 on fenics.

@jan-janssen
Copy link
Member Author

Hopefully this is going to be fixed by conda-forge/fenics-feedstock#123

@jan-janssen
Copy link
Member Author

We get the error:

import: 'mshr'
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/mshr_1608627637725/test_tmp/run_test.py", line 2, in <module>
    import mshr
  File "/home/conda/feedstock_root/build_artifacts/mshr_1608627637725/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.7/site-packages/mshr/__init__.py", line 24, in <module>
    from .cpp import Circle
ImportError: generic_type: type "CSGGeometry" referenced unknown base type "dolfin::Variable"

Which is the same the users report in #18

My suggestion is to separate the two boost builds more strictly: conda-forge/fenics-feedstock#124

@mbargull
Copy link
Member

mbargull commented Dec 22, 2020

The failed builds show different builds for the fenics-* packages (a mix of build 12 and 14).
See https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=254982&view=logs&j=517fe804-fa30-5dc2-1413-330699242c05&t=c10fa5f2-fdf6-5338-3bdb-c4bea7c23412&l=4724
IDK if that is from interest too (i.e., if they need tighter inter-package/outputs pinnings), just wanted to let you know.

@jan-janssen
Copy link
Member Author

I hope this is fixed with the build 15 - still

The failed builds show different builds for the fenics-* packages (a mix of build 12 and 14).
See https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=254982&view=logs&j=517fe804-fa30-5dc2-1413-330699242c05&t=c10fa5f2-fdf6-5338-3bdb-c4bea7c23412&l=4724
IDK if that is from interest too (i.e., if they need tighter inter-package/outputs pinnings), just wanted to let you know.

So you mean using {{ pin_subpackage("fenics-libdolfin", exact=True) }} rather than fenics-dijitso =={{ version }} to make sure all packages are using the same build?

@jan-janssen
Copy link
Member Author

I created a corresponding pull request conda-forge/fenics-feedstock#126

@mbargull
Copy link
Member

So you mean using {{ pin_subpackage("fenics-libdolfin", exact=True) }} rather than fenics-dijitso =={{ version }} to make sure all packages are using the same build?

If that's needed, yes. Might not be needed (I don't know these packages at all) if they are just loosely coupled (e.g., no linking etc.).
However, if all those packages get rebuilds each time, then it wouldn't hurt to tightly pin them either way.

@jan-janssen
Copy link
Member Author

@conda-forge-admin restart ci

@jan-janssen
Copy link
Member Author

@conda-forge-admin restart ci

@jan-janssen
Copy link
Member Author

boost 1.72 on linux in combination with python 3.6, python 3.7 or python 3.8 fails - while it works fine for python 3.9

@jan-janssen
Copy link
Member Author

Can somebody help me to resolve this dependency issue:

2020-12-22T17:44:12.3893492Z Package libgcc-ng conflicts for:
2020-12-22T17:44:12.3894191Z boost-cpp=1.74.0 -> bzip2[version='>=1.0.8,<2.0a0'] -> libgcc-ng[version='>=7.3.0|>=9.3.0']
2020-12-22T17:44:12.3895096Z fenics-dolfin==2019.1.0[build=*_15] -> hdf5[version='>=1.10.6,<1.10.7.0a0',build=mpi_mpich_*] -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.5.0|>=7.2.0']
2020-12-22T17:44:12.3895894Z pybind11 -> libgcc-ng[version='>=7.3.0|>=7.5.0|>=9.3.0']
2020-12-22T17:44:12.3896641Z python=3.9[build=*_cpython] -> libffi[version='>=3.3,<3.4.0a0'] -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.2.0']
2020-12-22T17:44:12.3897632Z fenics-dijitso==2019.1.0[build=*_15] -> numpy -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.5.0|>=9.3.0|>=7.2.0']
2020-12-22T17:44:12.3898412Z pip -> python[version='>=3'] -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.5.0|>=9.3.0|>=7.2.0']
2020-12-22T17:44:12.3899100Z gmp=6 -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.5.0|>=7.2.0']
2020-12-22T17:44:12.3899867Z mpfr=4 -> gmp[version='>=6.2.0,<7.0a0'] -> libgcc-ng[version='>=7.5.0']
2020-12-22T17:44:12.3900593Z pybind11 -> python[version='>=3.6,<3.7.0a0'] -> libgcc-ng[version='>=4.9|>=7.2.0']
2020-12-22T17:44:12.3901477Z mpfr=4 -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.2.0']
2020-12-22T17:44:12.3902170Z fenics-dolfin==2019.1.0[build=*_15] -> libgcc-ng[version='>=9.3.0']
2020-12-22T17:44:12.3902833Z python=3.9[build=*_cpython] -> libgcc-ng[version='>=7.5.0|>=9.3.0']
2020-12-22T17:44:12.3903458Z boost-cpp=1.74.0 -> libgcc-ng[version='>=7.5.0']
2020-12-22T17:44:12.3903755Z 
2020-12-22T17:44:12.3904052Z Package _openmp_mutex conflicts for:
2020-12-22T17:44:12.3904744Z python=3.9[build=*_cpython] -> libgcc-ng[version='>=9.3.0'] -> _openmp_mutex[version='>=4.5']
2020-12-22T17:44:12.3905482Z boost-cpp=1.74.0 -> libgcc-ng[version='>=7.5.0'] -> _openmp_mutex[version='>=4.5']
2020-12-22T17:44:12.3906193Z mpfr=4 -> libgcc-ng[version='>=7.3.0'] -> _openmp_mutex[version='>=4.5']
2020-12-22T17:44:12.3906880Z pybind11 -> libgcc-ng[version='>=9.3.0'] -> _openmp_mutex[version='>=4.5']
2020-12-22T17:44:12.3907568Z gmp=6 -> libgcc-ng[version='>=7.5.0'] -> _openmp_mutex[version='>=4.5']
2020-12-22T17:44:12.3908322Z fenics-dolfin==2019.1.0[build=*_15] -> libgcc-ng[version='>=9.3.0'] -> _openmp_mutex[version='>=4.5']
2020-12-22T17:44:12.3908699Z 
2020-12-22T17:44:12.3908998Z Package bzip2 conflicts for:
2020-12-22T17:44:12.3909619Z pip -> python[version='>=3'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
2020-12-22T17:44:12.3910448Z fenics-dijitso==2019.1.0[build=*_15] -> python[version='>=3.5'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
2020-12-22T17:44:12.3911146Z boost-cpp=1.74.0 -> bzip2[version='>=1.0.8,<2.0a0']
2020-12-22T17:44:12.3911865Z pybind11 -> python[version='>=3.6,<3.7.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
2020-12-22T17:44:12.3912708Z fenics-dolfin==2019.1.0[build=*_15] -> python[version='>=3.8,<3.9.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
2020-12-22T17:44:12.3913123Z 
2020-12-22T17:44:12.3913635Z Package fenics-dijitso conflicts for:
2020-12-22T17:44:12.3914186Z fenics-dijitso==2019.1.0[build=*_15]
2020-12-22T17:44:12.3914803Z fenics-dolfin==2019.1.0[build=*_15] -> fenics-dijitso==2019.1.0
2020-12-22T17:44:12.3915120Z 
2020-12-22T17:44:12.3915392Z Package xz conflicts for:
2020-12-22T17:44:12.3916302Z fenics-dijitso==2019.1.0[build=*_15] -> python[version='>=3.5'] -> xz[version='5.0.*|5.2.*|>=5.2.3,<5.3.0a0|>=5.2.4,<5.3.0a0|>=5.2.5,<5.3.0a0|>=5.2.5,<6.0a0|>=5.2.4,<6.0a0|>=5.2.3,<6.0a0']
2020-12-22T17:44:12.3917512Z fenics-dolfin==2019.1.0[build=*_15] -> python[version='>=3.8,<3.9.0a0'] -> xz[version='5.2.*|>=5.2.3,<5.3.0a0|>=5.2.4,<5.3.0a0|>=5.2.5,<5.3.0a0|>=5.2.5,<6.0a0|>=5.2.4,<6.0a0|>=5.2.3,<6.0a0']
2020-12-22T17:44:12.3918424Z boost-cpp=1.74.0 -> zstd[version='>=1.4.5,<1.5.0a0'] -> xz[version='>=5.2.5,<6.0a0']
2020-12-22T17:44:12.3919467Z pybind11 -> python[version='>=3.6,<3.7.0a0'] -> xz[version='5.0.*|5.2.*|>=5.2.3,<5.3.0a0|>=5.2.4,<5.3.0a0|>=5.2.5,<5.3.0a0|>=5.2.5,<6.0a0|>=5.2.4,<6.0a0|>=5.2.3,<6.0a0']
2020-12-22T17:44:12.3920537Z pip -> python[version='>=3'] -> xz[version='5.0.*|5.2.*|>=5.2.3,<5.3.0a0|>=5.2.4,<5.3.0a0|>=5.2.5,<5.3.0a0|>=5.2.5,<6.0a0|>=5.2.4,<6.0a0|>=5.2.3,<6.0a0']
2020-12-22T17:44:12.3921331Z python=3.9[build=*_cpython] -> xz[version='>=5.2.5,<5.3.0a0']
2020-12-22T17:44:12.3921953Z boost-cpp=1.74.0 -> xz[version='>=5.2.5,<5.3.0a0']
2020-12-22T17:44:12.3922250Z 
2020-12-22T17:44:12.3922539Z Package setuptools conflicts for:
2020-12-22T17:44:12.3923117Z fenics-dijitso==2019.1.0[build=*_15] -> setuptools
2020-12-22T17:44:12.3923703Z fenics-dolfin==2019.1.0[build=*_15] -> setuptools
2020-12-22T17:44:12.3924315Z pip -> setuptools
2020-12-22T17:44:12.3924561Z 
2020-12-22T17:44:12.3924839Z Package python conflicts for:
2020-12-22T17:44:12.3925174Z python=3.9[build=*_cpython]
2020-12-22T17:44:12.3926132Z fenics-dijitso==2019.1.0[build=*_15] -> numpy -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0|>=3.5,<3.6.0a0|3.4.*']
2020-12-22T17:44:12.3927067Z fenics-dolfin==2019.1.0[build=*_15] -> python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']
2020-12-22T17:44:12.3927949Z fenics-dolfin==2019.1.0[build=*_15] -> fenics-dijitso==2019.1.0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.5|>=3.5,<3.6.0a0|3.4.*|3.8.*|3.7.*|3.9.*']
2020-12-22T17:44:12.3928661Z fenics-dijitso==2019.1.0[build=*_15] -> python[version='>=3.5']
2020-12-22T17:44:12.3929401Z pybind11 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.5,<3.6.0a0|3.4.*']
2020-12-22T17:44:12.3930271Z pip -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3|>=3.8,<3.9.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0|3.4.*|>=3.9,<3.10.0a0']
2020-12-22T17:44:12.3930976Z pybind11 -> python_abi=3.7[build=*_cp37m] -> python[version='3.7.*|3.8.*|3.9.*']
2020-12-22T17:44:12.3931293Z 
2020-12-22T17:44:12.3931545Z Package pypy3.7 conflicts for:
2020-12-22T17:44:12.3932013Z pip -> python[version='>=3'] -> pypy3.7=7.3.3
2020-12-22T17:44:12.3932622Z fenics-dolfin==2019.1.0[build=*_15] -> python[version='>=3.7,<3.8.0a0'] -> pypy3.7=7.3.3
2020-12-22T17:44:12.3933250Z fenics-dijitso==2019.1.0[build=*_15] -> python[version='>=3.5'] -> pypy3.7=7.3.3
2020-12-22T17:44:12.3933839Z pybind11 -> python[version='>=3.7,<3.8.0a0'] -> pypy3.7=7.3.3
2020-12-22T17:44:12.3934107Z 
2020-12-22T17:44:12.3934518Z Package ca-certificates conflicts for:
2020-12-22T17:44:12.3935118Z python=3.9[build=*_cpython] -> openssl[version='>=1.1.1i,<1.1.2a'] -> ca-certificates
2020-12-22T17:44:12.3935633Z pip -> python -> ca-certificates
2020-12-22T17:44:12.3936165Z pybind11 -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
2020-12-22T17:44:12.3936440Z 
2020-12-22T17:44:12.3936706Z Package pybind11 conflicts for:
2020-12-22T17:44:12.3937245Z fenics-dolfin==2019.1.0[build=*_15] -> pybind11[version='>=2.6.1,<2.6.2.0a0']
2020-12-22T17:44:12.3937568Z pybind11
2020-12-22T17:44:12.3937768Z 
2020-12-22T17:44:12.3938163Z Package boost-cpp conflicts for:
2020-12-22T17:44:12.3938619Z boost-cpp=1.74.0
2020-12-22T17:44:12.3939292Z fenics-dolfin==2019.1.0[build=*_15] -> fenics-libdolfin==2019.1.0=haf72532_15 -> boost-cpp[version='>=1.72.0,<1.72.1.0a0|>=1.74.0,<1.74.1.0a0']
2020-12-22T17:44:12.3939676Z 
2020-12-22T17:44:12.3939928Z Package gmp conflicts for:
2020-12-22T17:44:12.3940170Z gmp=6
2020-12-22T17:44:12.3940640Z mpfr=4 -> gmp[version='>=6.1.2|>=6.1.2,<7.0a0|>=6.2.0,<7.0a0']

@jan-janssen
Copy link
Member Author

@conda-forge-admin restart ci

@jan-janssen
Copy link
Member Author

@conda-forge-admin restart ci

@jan-janssen
Copy link
Member Author

From my perspective this is ready to be merged now

recipe/meta.yaml Outdated Show resolved Hide resolved
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
recipe/meta.yaml Outdated Show resolved Hide resolved
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
@isuruf isuruf merged commit 2e1fbde into conda-forge:master Dec 22, 2020
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.

5 participants