tech-pkg archive

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

Re: gfortran




Great to know. I see it now in gcc.mk. 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

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

Stop.
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/gmp.info
mpfr-3.1.4: registering info file /usr/pkg/info/mpfr.info
installing mpcomplex-1.0.3...
mpcomplex-1.0.3: registering info file /usr/pkg/info/mpc.info
installing gmp-6.1.0...
installing gcc49-4.9.3nb1...
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/cp-tools.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/cpp.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/cppinternals.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/gcc.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/gccinstall.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/gccint.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/gcj.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/gfortran.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/libgomp.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/libitm.info
gcc49-4.9.3nb1: registering info file /usr/pkg/gcc49/info/libquadmath.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 libtool-fortran-2.4.2nb5
=> 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 <joerg%bec.de@localhost>:

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.

Joerg


Home | Main Index | Thread Index | Old Index