tech-pkg archive

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

Re: gfortran

It *is* picking up gcc48.

It's not picking up gcc49. If only gcc49 is installed, it overlooks it and starts building gcc48 as a dependency.

If I install gcc48, it builds fine.

According to the message, either one should work:

=> Full dependency gcc48>=4.8: NOT found



On 09/12/16 12:36, coypu%SDF.ORG@localhost wrote:
gcc 4.8 gfortran is the default currently.
I wonder why it is not picking up gcc48,

I've committed a requested change by Rin today to allow use of
GFORTRAN_VERSION=5 for example so it will pick up lang/gcc5.

On Sun, Sep 11, 2016 at 10:23:48AM -0500, Jason Bacon wrote:
Great to know.  I see it now in  There seems to be a glitch, though.
Should GCC 4.9 alone not satisfy the requirement?

On my NetBSD 7 box, after adding PKGSRC_FORTRAN=gfortran to /etc/mk.conf:

===> Creating toolchain wrappers for blas-3.5.0nb1
ERROR: gcc48>=4.8 is not installed; can't buildlink files.
*** Error code 1

make[1]: stopped in /usr/pkgsrc/math/blas
*** Error code 1

make: stopped in /usr/pkgsrc/math/blas

netbsddev# pkgin install gcc49
calculating dependencies... done.

nothing to upgrade.
5 packages to be installed (112M to download, 401M to install):

zip-3.0nb3 mpfr-3.1.4 mpcomplex-1.0.3 gmp-6.1.0 gcc49-4.9.3nb1

proceed ? [Y/n]
downloading packages...
zip-3.0nb3.tgz                       100%  231KB 231.0KB/s 231.0KB/s   00:01
mpfr-3.1.4.tgz                       100%  515KB 515.1KB/s 515.1KB/s   00:01
mpcomplex-1.0.3.tgz                  100%  123KB 122.7KB/s 122.7KB/s   00:00
gmp-6.1.0.tgz                        100%  731KB 730.6KB/s 90.6KB/s   00:01
gcc49-4.9.3nb1.tgz                   100%  111MB 995.6KB/s 238.1KB/s   01:54
installing packages...
installing zip-3.0nb3...
installing mpfr-3.1.4...
gmp-6.1.0: registering info file /usr/pkg/info/
mpfr-3.1.4: registering info file /usr/pkg/info/
installing mpcomplex-1.0.3...
mpcomplex-1.0.3: registering info file /usr/pkg/info/
installing gmp-6.1.0...
installing gcc49-4.9.3nb1...
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/
pkg_install warnings: 0, errors: 0
reading local summary...
processing local summary...
marking gcc49-4.9.3nb1 as non auto-removable

netbsddev# make clean build
===> Cleaning for blas-3.5.0nb1
=> Bootstrap dependency digest>=20010302: found digest-20160304
=> Checksum SHA1 OK for lapack-3.5.0.tgz
=> Checksum RMD160 OK for lapack-3.5.0.tgz
=> Checksum SHA512 OK for lapack-3.5.0.tgz
===> Installing dependencies for blas-3.5.0nb1
=> Tool dependency libtool-base>=2.2.6bnb3: found libtool-base-2.4.2nb12
=> Build dependency libtool-fortran>=2.2.6bnb3: found
=> Full dependency gcc48>=4.8: NOT found
=> Verifying reinstall for ../../lang/gcc48
=> Bootstrap dependency digest>=20010302: found digest-20160304
=> Fetching gcc-4.8.4.tar.bz2

On 09/11/2016 09:32, Joerg Sonnenberger wrote:
On Sat, Sep 10, 2016 at 12:52:40PM -0500, Jason Bacon wrote:
On 09/10/16 04:17, Benny Siegert wrote:
Am 08.09.2016 um 17:32 schrieb Joerg Sonnenberger <>:

On Thu, Sep 08, 2016 at 08:56:50AM -0500, Jason Bacon wrote:
I started a similar discussion a couple years ago.  The response was that
g95 is the only thing that works on many platforms and pkgsrc is committed
to portability.
That's not the point. The point is that all the alternative packages
like gcc49 etc are much more heavy by including things like the Java
backend. You can easily select a different implementation, but for
casual users, it is way too heavy.
For the record: I prefer something that’s heavy to something that does not compile at all. I submitted a PR a while ago where I tried to install some package on Linux, and it tried and failed to build g95. gfortran worked.

If a user does a bootstrap, then bmake package-install and gets a failed build until they manually configure the right fortran compiler (something that they most likely do not care about), then that’s a terrible experience.

If g95 is a good default for some platforms and not a good one for others: perhaps we can have a default that’s set in platform Makefiles?

Or, perhaps a USE_GFORTRAN variable in mk.conf, to let the user indicate
that gfortran should be used for all package builds?
You can already select a different fortran backend with PKGSRC_FORTRAN.



Those who spend their lives in the shallows see their whole world in turmoil
whenever the wind blows.

Those who explore the depths see only ripples at the surface of an otherwise
serene world.

Home | Main Index | Thread Index | Old Index