NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: toolchain/47503: Request automated addition of gfortran to base compiler set
The following reply was made to PR toolchain/47503; it has been noted by GNATS.
From: Jason bacon <jwbacon%tds.net@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: "Valeriy E. Ushakov" <uwe%stderr.spb.ru@localhost>,
toolchain-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost, Aleksej Saushev <asau%inbox.ru@localhost>
Subject: Re: toolchain/47503: Request automated addition of gfortran to base
compiler set
Date: Tue, 05 Feb 2013 12:42:17 -0600
On 2/5/13 7:20 AM, Valeriy E. Ushakov wrote:
> The following reply was made to PR toolchain/47503; it has been noted by
> GNATS.
>
> From: "Valeriy E. Ushakov"<uwe%stderr.spb.ru@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc:
> Subject: Re: toolchain/47503: Request automated addition of gfortran to base
> compiler set
> Date: Tue, 5 Feb 2013 17:18:38 +0400
>
> On Mon, Feb 04, 2013 at 22:55:08 +0000, Jason Bacon wrote:
>
> > RHEL and CentOS already include gfortran in the base, so a GCC package
> > is unnecessary here.
>
> Does a typical Linux distribution even have a "base" in the same sense
> we speak about base system in BSDs? My impression from my limited
> exposure is that in NetBSD terms their "base" gcc is what we would
> call a gcc package.
Not exactly. RHEL/CentOS don't necessarily have any development tools
out of the box,
but a Yum package in the 'base' category installs them into /usr/bin.
This would be the first
and usually only compiler suite on the system, so it's akin to the BSD
base compilers.
The development tools "group" (like a metapackage) is what most people
use. It installs all
the compilers, flex, bison, subversion, etc.
https://support.eapps.com/index.php?/Knowledgebase/Article/View/438/55/user-guide---installing-the-centos-development-tools-gcc-flex-etc
>
>
> > We could get by with a GCC package on NetBSD, but since GCC 4.5 is now
> > being used as the base compiler, and pkgsrc already contains the logic
> > to use a base gfortran if it's present, I think it would make sense to
> > have gfortran in the base (at least as an option). This would ensure
> > object code compatibility with code compiled by the base gcc and g++ as
> > well.
>
> Are there some known ABI issues between recent 4.x series, or is it
> more in the bad vibes area? (I use it as a neutral technical (sic!:)
> term here)
I'm not aware of any issues between recent 4.x compilers, but that does
not make me
confident that they don't exist. I'll be more worried with GCC 5.0
becomes the preferred
package.
>
>
> > I think it would take fewer man-hours in the long run to put it
> > in the base, and the end result would be cleaner and safer.
>
> ... for as long as gfortran in gcc 4.5 is considered ok, until some
> horrible bug that triggers only under rare conditions makes it
> unsuitable because you can't trust it any more.
>
> ... or when gcc 4.N+1 has optimizer improvements that cut you batch
> wall time by days and you absolutely want to use 4.N+1 instead of that
> old base 4.5
>
> ... or until we decide to upgrade the base compiler to, say, gcc 4.7
> and it turns out newer gfortran have issues.
>
> I'm sure pkgsrc folks can continute the list.
>
> From the base system persepective I'd say it would take fewer
> man-hours in the long run to make sure gfortran packages work smoothly.
>
> . de facto, optional code tends to bit-root
>
> . de jure, once in base, optional code is, effectively, mandatory
>
> . it's "mandatory optional" on *all* ports, including those no-one
> would ever going to use for HPC (vax heyday is over; jornada 680
> cluster?)
>
> . it will have to be in the standard builds, so limited resources of
> netbsd autobuid cluster will be spent on building it (for all
> ports).
This is why I initially suggested only providing instructions or a
script for rebuilding the
base compiler suite with gfortran enabled, rather than including it in
the generic installation.
Based on my experience with manual GCC builds, once you get the build
working, adding
Fortran is unlikely to cause many issues.
>
> . we will have to solve *exactly the same* ABI compatibility issues
> (if any) during base gcc upgrade as pkgsrc needs to solve for a gcc
> pacakge.
The ABI issues I'm worried about stem from the fact that the GCC package
chosen
as a prerequisite might be a different version than the base compilers
and might
be built with different options. Rebuilding the base suite guarantees
the same
version, --build, --host, --target, etc.
>
> So the last item is the same for base and pkgsrc and all previous
> items are extra work for base.
>
> It's most likely that my perception of this problem is affected by my
> wearing base-hacker hat (mine might have -5 penalty to wisdom and
> cursed), so, please, excuse me if this mail might come across as a bit
> antagonistic - it's not inteded that way.
>
> -uwe
>
No worries. I see this as collaborative discourse, not a flame war.
The least
that can come of it is we all end up with a better understanding of the
issues.
I won't be offended if the developers doesn't agree with my suggestions. I
just want to have a discussion to raise awareness of the issues, and
offer some ideas for solving them.
Regards,
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jason W. Bacon
jwbacon%tds.net@localhost
http://personalpages.tds.net/~jwbacon
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Home |
Main Index |
Thread Index |
Old Index