tech-pkg archive

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

Re: Can we make gfortran the default Fortran?



On 01/01/18 16:49, Greg Troxel wrote:
Jason Bacon <bacon4000%gmail.com@localhost> writes:

4. Can someone provide a specific example of how the
PKGSRC_GCC_BOOTSTRAP=yes might cause a problem?  I think building
dependencies with the system compiler and linking against them with
a newer pkgsrc compiler should be fine in almost all cases, and a
recursive PKGSRC_GCC_BOOTSTRAP variable should ensure consistency in
gcc and dependency builds (unless I'm overlooking something).
Correction: Tagging packages individually would ensure consistent
builds, not the recursive PKGSRC_GCC_BOOTSTRAP variable.  My thoughts
got jumbled here.  For example, with the recursive variable, bzip2
could be built with the system compiler or pkgsrc compiler depending
on what build depends on it.  Tagging bzip2 explicitly would ensure
that it's always built with the system compiler, if I'm understanding
the proposal correctly.
On NetBSD, the dependencies are fairly small, so the explicit marking
seems fine.  If you want to volunteer to maintain the list for Linux and
manage the complexity resulting from PREFER_PKGSRC  I am happy to adopt
explicit marking as the standard approach.

Sure, I can take ownership of that.  How about we also add something like the following to all gcc packages to help prevent breakage in the first place:

cvs diff: Diffing .
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/gcc6/Makefile,v
retrieving revision 1.12
diff -u -r1.12 Makefile
--- Makefile    13 Dec 2017 10:54:53 -0000    1.12
+++ Makefile    2 Jan 2018 15:10:30 -0000
@@ -8,6 +8,12 @@
 ## When bumping the PKGREVISION of this package the PKGREVISION of
 ## lang/gcc6-libs needs to be bump to be at least 1 more than the
 ## PKGREVISION of this package!
+##
+## All gcc dependencies are tagged for building with the base compiler
+## to avoid circular dependencies when this compiler is set as a system-wide +## minimum and to ensure consistent build results. Please ensure that any new +## dependencies are tagged and tested with the base compiler BEFORE committing +## changes this package.  Failure to do so will create problems for many users.
 PKGREVISION=    1
 CATEGORIES=    lang
 MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC6_DIST_VERSION}/}
cvs diff: Diffing patches

--
Earth is a beta site.


Home | Main Index | Thread Index | Old Index