Opened 11 months ago

Last modified 8 months ago

#67724 assigned defect

mpich: enable F08 when updating

Reported by: barracuda156 Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: eborisch (Eric A. Borisch)
Port: mpich

Description (last modified by mascguy (Christopher Nielsen))

Please --enable-f08 when updating MPICH, it builds fine with it. We need it, because some ports are broken without F08 enabled.

Case in question DBCSR: https://github.com/cp2k/dbcsr/issues/661

I cannot fix the build until MPICH supports F08, since upstream solution relies on that.

Change History (15)

comment:1 Changed 11 months ago by mascguy (Christopher Nielsen)

Description: modified (diff)
Summary: Please enable F08 when updating MPICH to 4.1.2mpich: enable F08 when updating

comment:2 Changed 11 months ago by eborisch (Eric A. Borisch)

Have you tested if any of the other ports that use fortran and mpich will break from this change?

  • AlphaSparse
  • NTPoly
  • abinit
  • bpack
  • dbcsr
  • feast
  • ginkgo
  • hiop
  • hpddm
  • libsc
  • mumps
  • p4est
  • paramonte
  • pfft
  • psblas3
  • raja
  • scalapack
  • starpu
  • sundials2
  • sundials5
  • sundials6
Last edited 11 months ago by eborisch (Eric A. Borisch) (previous) (diff)

comment:3 Changed 11 months ago by eborisch (Eric A. Borisch)

Those are the ones with it on by default; there are certainly more that can use fortran and mpich in variants. I guess my point is I don't know/use fortran enough to know that this is a benign change for other packages.

comment:4 in reply to:  2 ; Changed 11 months ago by mascguy (Christopher Nielsen)

Replying to eborisch:

Have you tested if any of the other ports that use fortran and mpich will break from this change?

That was a concern of mine too.

Would it make sense to add this via an optional variant then?

comment:5 in reply to:  2 Changed 11 months ago by barracuda156

Replying to eborisch:

Have you tested if any of the other ports that use fortran and mpich will break from this change?

  • AlphaSparse
  • NTPoly
  • abinit
  • bpack
  • dbcsr
  • feast
  • ginkgo
  • hiop
  • hpddm
  • libsc
  • mumps
  • p4est
  • paramonte
  • pfft
  • psblas3
  • raja
  • scalapack
  • starpu
  • sundials2
  • sundials5
  • sundials6

I literally refer to dbcsr above which is now broken because F08 is not enabled.

But I can easily test others – those are predominantly my own ports.

Last edited 11 months ago by barracuda156 (previous) (diff)

comment:6 in reply to:  4 ; Changed 11 months ago by barracuda156

Replying to mascguy:

Would it make sense to add this via an optional variant then?

Unfortunately Macports does not allow requiring a variant of a port for a default build. So this won’t fix dbcsr, unless this is fixed in Macports base.

  1. S. Of course it is better to have it as a variant than having it quietly disabled, but it does not fix the specific port at least.
Last edited 11 months ago by barracuda156 (previous) (diff)

comment:7 in reply to:  6 ; Changed 11 months ago by mascguy (Christopher Nielsen)

Replying to barracuda156:

Replying to mascguy:

Would it make sense to add this via an optional variant then?

Unfortunately Macports does not allow requiring a variant of a port for a default build. So this won’t fix dbcsr, unless this is fixed in Macports base.

I'm not sure what you mean: You can install any subport of mpich/openmpi with whatever variants are desired, then install dependent ports.

For example:

$ sudo port -N install mpich-gcc12 +my_new_variant
$ sudo port -N dbcsr +gcc12

comment:8 in reply to:  7 Changed 11 months ago by mascguy (Christopher Nielsen)

Replying to mascguy:

Replying to barracuda156:

Unfortunately Macports does not allow requiring a variant of a port for a default build. So this won’t fix dbcsr, unless this is fixed in Macports base.

I'm not sure what you mean: You can install any subport of mpich/openmpi with whatever variants are desired, then install dependent ports.

For example:

$ sudo port -N install mpich-gcc12 +my_new_variant
$ sudo port -N dbcsr +gcc12

Alternatively, using mpich-default:

$ sudo port -N install mpich-default +my_new_variant
$ sudo port -N install dbcsr

comment:9 in reply to:  7 Changed 11 months ago by barracuda156

Replying to mascguy:

Replying to barracuda156:

Replying to mascguy:

Would it make sense to add this via an optional variant then?

Unfortunately Macports does not allow requiring a variant of a port for a default build. So this won’t fix dbcsr, unless this is fixed in Macports base.

I'm not sure what you mean: You can install any subport of mpich/openmpi with whatever variants are desired, then install dependent ports.

For example:

$ sudo port -N install mpich-gcc12 +my_new_variant
$ sudo port -N dbcsr +gcc12

Sorry, I mean that we cannot make dbcsr (or any port in its default config) require a non-default variant of MPICH (or any other port), at least as far as I know. I asked this question earlier re R, and Ryan said it cannot work.

Locally, of course, I can do anything. But it will leave dbcsr broken for everyone else.

comment:10 Changed 11 months ago by barracuda156

Confirmed to build fine:

AlphaSparse
bpack
dbscr
hiop
NTPoly
raja
scalapack
sundial6

To be updated.

  1. S. MPICH has F08 enabled by default, and that is what ports would normally expect, IMO, not a current non-default Macports setting.

UPD. So, I reckon it works perfectly fine.

Last edited 11 months ago by barracuda156 (previous) (diff)

comment:11 in reply to:  4 Changed 9 months ago by barracuda156

Replying to mascguy:

Where are we on this? I have been using mpich 4.1.2 with enabled fortran 2008 for all this time, no issues, works nicely. It is desirable to have it updated perhaps?

comment:12 Changed 8 months ago by barracuda156

Well, update ignored this, I will open a PR then. Some ports are broken otherwise, and enough time passed to test this.

comment:13 in reply to:  12 ; Changed 8 months ago by mascguy (Christopher Nielsen)

Replying to barracuda156:

Well, update ignored this, I will open a PR then. Some ports are broken otherwise, and enough time passed to test this.

Dear Lord, updating these ports will tie up the buildbots for several days, so please don't create any new PRs.

There's a reason openmpi and mpich haven't been touched, despite being out-of-date: In addition to days of buildbot time, they also require a lot of pre-merge testing to ensure there isn't breakage across macOS releases!

*I* will take care of all of this, eventually. Patience please...

comment:14 in reply to:  13 Changed 8 months ago by barracuda156

Replying to mascguy:

*I* will take care of all of this, eventually. Patience please...

Ok, got it. Will wait for your update. Thanks.

comment:15 Changed 8 months ago by barracuda156

Just for the record, I have just built mpich with gcc13.

36-125% port -v installed mpich-gcc13 
The following ports are currently installed:
  mpich-gcc13 @4.1.2_0+fortran (active) requested_variants='' platform='darwin 10' archs='ppc' date='2023-10-08T01:28:48+0800'
  1. S. These are also unneeded now: "F90FLAGS='' F90=''", I dropped those.
Note: See TracTickets for help on using tickets.