Skip to content

Commit

Permalink
Re-enable requirement of msys2 mingw64 toolchain to prevent installat…
Browse files Browse the repository at this point in the history
…ion of competing git/make

Explicitly select m2w64 versions of git & make (the m2 versions are pinned to m2-conda-epoch 20230914 which is not compatible with msmpi which uses m2w64_fortran)
Use "-" flag style for all tools but MSVC linker
  • Loading branch information
langmm committed Jun 28, 2024
1 parent 54100df commit 7291af4
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 14 deletions.
5 changes: 4 additions & 1 deletion recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ requirements:
- chevron
- deprecation
- flask
- git
- git # [not win]
- m2w64-crt-git # [win]
- matplotlib-base
- numpy >=1.13.0
- pandas
Expand Down Expand Up @@ -109,6 +110,7 @@ outputs:
- {{ pin_subpackage('yggdrasil.zmq', exact=True) }} # [win]
- cmake # [not win]
- compiler-rt # [osx]
- m2w64-make # [win]
- make # [not win]
- {{ compiler('c') }}
- {{ compiler('cxx') }}
Expand All @@ -123,6 +125,7 @@ outputs:
run:
- {{ pin_subpackage('yggdrasil.c', exact=True) }}
- m2w64-gcc-fortran # [win]
- m2w64-toolchain_win-64 # [win]
- {{ compiler('fortran') }} # [not win]
- name: yggdrasil.r
build:
Expand Down
34 changes: 26 additions & 8 deletions utils/requirements/requirements.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,17 @@
"deprecation",
"flask",
{
"git": {
"method": "conda"
}
"git": [
{
"method": "conda",
"os": "unix"
},
{
"name": "m2w64-crt-git",
"method": "conda",
"os": "win"
}
]
},
{
"hatch-fancy-pypi-readme": {
Expand Down Expand Up @@ -202,10 +210,17 @@
}
},
{
"make": {
"method": "conda",
"os": "unix"
}
"make": [
{
"method": "conda",
"os": "unix"
},
{
"name": "m2w64-make",
"method": "conda",
"os": "win"
}
]
},
{
"{{ compiler('c') }}": {
Expand Down Expand Up @@ -246,7 +261,10 @@
{
"name": "m2w64-gcc-fortran",
"os": "win",
"method": "conda"
"method": "conda",
"add": [
"m2w64-toolchain_win-64"
]
},
{
"name": "gfortran",
Expand Down
29 changes: 25 additions & 4 deletions utils/requirements/requirements.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# About use of m2w64 conda packages:
# The msmpi recipe currently requires m2w64_fortran explicitly, which
# has not been rebuilt since 2021, but the updated msys packages (m2-*)
# require m2-conda-epoch 20230914 making msmpi incompatible. The m2w64
# versions of git & make are used on windows to prevent conflicts
# between the m2w64 and other msys2 libraries installed by the
# non-m2w64 versions of these packages. This conflict can appear as
# segfaults during compilation if the non-m2w64 msys2 libraries precede
# the m2w64 on the PATH.
#
# Once (if) msmpi is updated to use the new msys2 gfortran
# distribution, then the m2w64- versions should be replaced with m2-
# versions or the non-prefixed versions if the PATH conflicts are
# resolved.
general:
- python-build:
flags:
Expand Down Expand Up @@ -37,7 +51,11 @@ general:
- deprecation
- flask
- git:
method: conda
- method: conda
os: unix
- name: m2w64-crt-git
method: conda
os: win
- hatch-fancy-pypi-readme:
host: True
flags:
Expand Down Expand Up @@ -116,8 +134,11 @@ extras:
method: conda
os: unix
- make:
method: conda
os: unix
- method: conda
os: unix
- name: m2w64-make
method: conda
os: win
- "{{ compiler('c') }}":
method: conda_recipe
- "{{ compiler('cxx') }}":
Expand Down Expand Up @@ -153,7 +174,7 @@ extras:
- name: m2w64-gcc-fortran
os: win
method: conda
# add: [m2w64-toolchain_win-64]
add: [m2w64-toolchain_win-64]
- name: gfortran
method: apt
- name: gfortran
Expand Down
5 changes: 4 additions & 1 deletion utils/requirements/requirements_condaonly.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@ compiler-rt; platform_system == 'Darwin' # [conda,c]
czmq # [conda,zmq]
fortran-compiler; platform_system != 'Windows' # [conda,fortran]
ghostscript # [conda,images]
git # [conda]
git; platform_system != 'Windows' # [conda]
juliaup # [conda,julia]
lz4 # [conda,zmq]
m2w64-crt-git; platform_system == 'Windows' # [conda]
m2w64-gcc-fortran; platform_system == 'Windows' # [conda,fortran]
m2w64-make; platform_system == 'Windows' # [conda,c]
m2w64-toolchain_win-64; platform_system == 'Windows' # [conda,fortran]
make; platform_system != 'Windows' # [conda,c]
matplotlib-base # [conda]
mpich; platform_system == 'Linux' # [conda,mpi]
Expand Down

0 comments on commit 7291af4

Please sign in to comment.