Bug 240904 - math/suitesparse: drop USES=fortran
Summary: math/suitesparse: drop USES=fortran
Status: In Progress
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-fortran (Nobody)
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2019-09-28 13:53 UTC by Jan Beich
Modified: 2022-12-15 21:41 UTC (History)
2 users (show)

See Also:
thierry: maintainer-feedback+


Attachments
v1 (1.17 KB, patch)
2019-09-28 13:53 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer freebsd_triage 2019-09-28 13:53:18 UTC
Created attachment 207920 [details]
v1

SuiteSparse doesn't use Fortran source and after bug 208120 there's no need to worry about RPATH for libgcc_s.

Testing postponed until the next update. The change provides little value on its own.
Comment 1 Thierry Thomas freebsd_committer freebsd_triage 2019-09-29 18:45:34 UTC
$ grep  -i fortran ./SuiteSparse_config/SuiteSparse_config.mk
        BLAS = -lrefblas -lgfortran -lstdc++
            # use the Intel ifort compiler for Fortran codes
    # standard Fortran LAPACK along with OpenBLAS to obtain very good
    #   make BLAS='-lacml -lgfortran'
    # Fortran compiler (not required for 'make' or 'make library')
    # A Fortran compiler is optional.  Only required for the optional Fortran
    F77 ?= gfortran
        ## BLAS = -lrefblas -lgfortran
        @echo 'Fortran compiler:         F77=            ' '$(F77)'
        @echo 'Fortran flags:            F77FLAGS=       ' '$(F77FLAGS)'

So it seems that Fortran is optional:

    # A Fortran compiler is optional.  Only required for the optional Fortran
    # interfaces to AMD and UMFPACK.  Not needed by 'make' or 'make install'
 
Does anyone need these interfaces?

Note: if we adopt the proposed patch, maintainership should be dropped from fortran mailing list.
Comment 2 rsmith 2020-07-04 16:44:34 UTC
I was just building suitesparse 5.8.0.

If I remove "fortran" from USES, I get this error:

===>  suitesparse-5.8.0 is marked as broken: USES=gmake is incompatible with
cmake's ninja-generator.

If I also remove "gmake" from USES, I get another error:

===>  Building for suitesparse-5.8.0
ninja: error: loading 'build.ninja': No such file or directory

So it seems to me that we do need USES=fortran.
Comment 3 Thierry Thomas freebsd_committer freebsd_triage 2021-06-13 18:06:28 UTC
Please note that after the split of math/suitesparse into several ports, only math/suitesparse-amd uses fortran.

I'm not sure how it is used, and we could probably make it optional.
Comment 4 Thierry Thomas freebsd_committer freebsd_triage 2022-11-19 17:35:15 UTC
Sorry, but starting with 6.0.0 SuiteSparse checks for a Fortran compiler from the beginning, i.e. math/suitesparse-config .

See PR 267742.
Comment 5 Thierry Thomas freebsd_committer freebsd_triage 2022-12-15 21:41:08 UTC
Since v6.0.2, FORTRAN is no more used, excepted for AMD, like in releases 5.*.

It could even be disabled in AMD, but in this case amd.f and amdbar.f would be skipped: there is no interest for that, since FORTRAN is already brought by OpenBLAS.