Re: /usr/share/mk/sys.mk and FORTRAN on -CURRENT

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Mon, 4 Jun 2007 08:14:19 -0700
On Mon, Jun 04, 2007 at 09:43:03AM +0100, Bob Bishop wrote:
> Hi,
> 
> On 4 Jun 2007, at 02:09, Steve Kargl wrote:
> 
> >On Sun, Jun 03, 2007 at 04:47:33PM -0700, Don Lewis wrote:
> >>I was taking a look at why math/lapack fails to build on -CURRENT and
> >>discovered that the port uses ${FC} to find the FORTRAN compiler.  I
> >>then discovered that /usr/share/mk/sys.mk defines ${FC} as f77 (or
> >>fort77).  I don't this is appropriate since f77 has been removed from
> >>-CURRENT.
> >>
> >>I don't know what the proper fix is, but I though I should point  
> >>out the
> >>problem ...
> >>
> >
> >There are two bugs here. 1) FC should be removed.
> 
> Why? One might well want the option to use any of the several FORTRAN  
> compilers from ports.

The correct spelling of the name of the language is Fortran.
The reason is simple.  If you upgrade from 6-stable to 7-current
and you do not clean out the f77 command (aka g77) then you 
may have ABI issues when LAPACK is compiled with f77 and consumers
of liblapack.a use gfortran or even the base system cc.

> 
> >2) The various ports that use Fortran should use gfortran42
> >installed with lang/gcc42.
> 
> The various ports that use Fortran should be checked to see what  
> version of FORTRAN they want. I suspect the easiest fix is to have  
> $FC empty by default and for dependent ports to output a helpful  
> diagnostic.
> A better fix would be to make ports dependent on an appropriate  
> compiler port, but that's a lot of work and some users will prefer  
> ifc anyway.

The work has already been done for most ports.  Lapack is one of the
few that doesn't use gfortran42 by default.  See

http://www.freebsd.org/cgi/getmsg.cgi?fetch=313584+318166+/usr/local/www/db/text/2007/freebsd-ports/20070318.freebsd-ports

-- 
Steve
Received on Mon Jun 04 2007 - 13:14:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:11 UTC