NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/47503: Request automated addition of gfortran to base compiler set



>Number:         47503
>Category:       toolchain
>Synopsis:       Request automated addition of gfortran to base compiler set
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 25 02:40:00 +0000 2013
>Originator:     Jason Bacon
>Release:        6.0
>Organization:
UW - Milwaukee
>Environment:
NetBSD netbsd6-pkgsrc.ceas.uwm.edu 6.0 NetBSD 6.0 (GENERIC) amd64

>Description:
This might be considered a followup to PR 41220, but I'd like to propose a 
higher priority and a different solution.

I've been developing pkgsrc packages to facilitate cross-platform scientific 
research.  There are many applications that I would like to package that 
require Fortran 90, and this has proven to be a major barrier to portable 
package development.

In order to fully realize the benefits of pkgsrc in my work, I need to package 
Fortran programs for NetBSD, CentOS, and OS X.

CentOS 6 has proven to be the easiest to work with because of the presence of a 
mature gfortran in the base compiler set.

Since NetBSD 6 is now using gcc 4.5 as a base compiler, I think it would make 
sense to provide the ability to add gfortran to the base toolchain.  I'm 
guessing that this wouldn't require much more than rebuilding gcc within 
/usr/src with

--enable-languages=c,c++,fortran

I'm not suggesting that gfortran necessarily be added to generic build, 
although I'd be fine with that as well if ISO size is not a concern.  It would 
suffice for my purposes to have the ability to easily add it.  

The ideal solution I envision would be an automated script that the pkgsrc base 
could run when it detects a Fortran 90 dependency.  Rather than add a gcc 
package, it would rebuild the base gcc and install /usr/bin/gfortran, leaving a 
clean, matching set of compilers for pkgsrc to use.  I'd be happy to help 
develop such a script if I could get a little guidance from the core developers 
on the best approach.

The pkgsrc gcc packages are not viable at this point, since they only work on 
NetBSD.  It would be hard to match the various base toolchain versions anyway, 
which leads to mixing toolchains in package builds.  Finally, it would be messy 
to use the base gfortran on some platforms and a gcc package on others.

For OS X, the solution I've settled on is to build a complete base gcc 4.6 or 
later to use as a base compiler instead of gcc 4.2.1 or clang.  I'm in the 
process of scripting the entire setup process (download and install gcc the old 
fashioned way, then bootstrap pkgsrc using the new gcc).  Eventually, I assume 
this approach could be adapted to other platforms that lack gfortran in the 
base toolchain.

>How-To-Repeat:

>Fix:



Home | Main Index | Thread Index | Old Index