Opened 3 years ago

Closed 3 years ago

#62704 closed defect (fixed)

fftw-3 upgrade fails: must set at least one Fortran variant

Reported by: jmroot (Joshua Root) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cjones051073 (Chris Jones)
Port: fftw-3

Description

% port installed fftw-3
The following ports are currently installed:
  fftw-3 @3.3.9_0 (active)
% sudo port -v upgrade outdated
--->  Fetching archive for fftw-3
Error: Failed to archivefetch fftw-3: must set at least one Fortran variant (g95 gcc10 gcc5 gcc6 gcc7 gcc8 gcc9 gccdevel gfortran)

Change History (12)

comment:1 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: cjones051073 added
Status: assignedaccepted

This was caused by a recent change.
I will include the person who made the change in case he has any insights.

comment:2 Changed 3 years ago by cjones051073 (Chris Jones)

That commit just enables the default fortran variant (gfortran) by default. I don't get why the upgrade is not respecting this and also including the new default variant.

comment:3 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I cannot reproduce this error.
This is just a guess, but are you using a prerelease version of MacPorts?
From what I can tell, there has been some work recently on variants in the base that has not yet made it to a released version of MacPorts.

comment:4 Changed 3 years ago by jmroot (Joshua Root)

It seems to also prevent turning off the fortran variants. Why is that necessary?

comment:5 in reply to:  3 Changed 3 years ago by jmroot (Joshua Root)

Replying to MarcusCalhoun-Lopez:

This is just a guess, but are you using a prerelease version of MacPorts?

Yes, but I doubt that's relevant. It's likely because -gfortran is in the negated_variants in the registry.

comment:6 in reply to:  4 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Replying to jmroot:

It seems to also prevent turning off the fortran variants. Why is that necessary?

I am afraid I do not know why require_fortran was used instead of default_fortran in the change

comment:7 Changed 3 years ago by cjones051073 (Chris Jones)

I just cloned what the fftw port has..

Please feel free to change them to default_fortran if you think it useful.

comment:8 Changed 3 years ago by jmroot (Joshua Root)

No reason was given for adding that to the fftw port either. With your permission Marcus, I can just revert?

comment:9 Changed 3 years ago by cjones051073 (Chris Jones)

The reason is there are a number of ports the depend on fftw-3 with fortran support, and as such cannot be built in the buildbots because of this. Because it adds a minimal build dependency to enable it by default, and because the other fftw port already had it, I considered it a minor change that didnt need discussion.

No need to revert the change entirely, just change it to default_fortran which then will allow the variant to be removed if required.

comment:10 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

There is a pull request that changes require_fortran to default_fortran.
Does this fix work for everyone?

comment:11 in reply to:  9 Changed 3 years ago by jmroot (Joshua Root)

Replying to cjones051073:

The reason is there are a number of ports the depend on fftw-3 with fortran support, and as such cannot be built in the buildbots because of this.

OK. This reason is not necessarily obvious, so it's helpful to explain such things in the body of the commit message.

comment:12 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: acceptedclosed

In 96b8cf95e92ba3273ffc20d187e6763c5aee036d/macports-ports (master):

fftw-3: allow user to turn off Fortran support

Fixes #62704

Note: See TracTickets for help on using tickets.