Date: Mon, 22 Feb 2016 10:01:49 +0100 From: Tijl Coosemans <tijl@FreeBSD.org> To: Anton Shterenlikht <mexas@bris.ac.uk> Cc: thierry@FreeBSD.org, fortran@freebsd.org, freebsd-ports@freebsd.org, theraven@FreeBSD.org Subject: Re: help make port for opencoarrays Message-ID: <20160222100149.05fbca90@kalimero.tijl.coosemans.org> In-Reply-To: <201602212151.u1LLpRBB085896@mech-as222.men.bris.ac.uk> References: <20160221164250.GC2122@graf.pompo.net> <201602212151.u1LLpRBB085896@mech-as222.men.bris.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 21 Feb 2016 13:51:28 -0800 (PST) Anton Shterenlikht <mexas@bris.ac.uk> wrote: > From thierry@pompo.net Sun Feb 21 17:36:47 2016 >> Le mer 17 f_v 16 _ 23:50:37 +0100, Anton Shterenlikht <mexas@bris.ac.uk> >> _crivait_: >>> Please help/advise >>> >>> https://github.com/sourceryinstitute/opencoarrays >>> >>> It requires mpich built with at least gcc5.3, >>> more specifically mpif90 built with gcc5.3 or gcc6. >>> net/mpich has FORTRAN_USES=fortran, which I understand >>> triggers lang/gcc. >>> >>> Is it a good idea (or at all possible) to add >>> an option to net/mpich to choose a particular >>> gcc version? >>> >>> Any other advice? >> >> ATM Fortran in FreeBSD is in a very bad shape, and, as you know, we >> encounter difficulties with several ports (french/aster, cad/salome, >> etc.) caused by a mix between clang and Gcc, and thus libstdc++ / >> libc++. I think Fortran is fine. It's C++ that's in a bad shape. I think the lang/gcc* ports need to be modified so libstdc++ sits on top of libcxxrt instead of libsupc++. Maybe David can say more about that (CCed). >> If building mpich with a newer Gcc could solve the problem with >> opencoarrays, I'm afraid it would cause uncompatibilities in other >> dependencies - but unfortunately I cannot suggest a better alternative! > > Well, I'm only asking for an option in the port. > The default will not change. > > I'll have a go locally and see what happens. > But I'm not sure what option to use to build > with e.g. GCC6. Is it this line? > > FORTRAN_USES= fortran > > Or are you saying that building mpich with > non-default gcc is problematic because all > its dependencies should be built with the > same gcc version? Users can change ports tree default versions by setting DEFAULT_VERSIONS in /etc/make.conf: DEFAULT_VERSIONS= gcc=5 DEFAULT_VERSIONS is handled in /usr/ports/Mk/bsd.default-versions.mk and /usr/ports/Mk/Uses/fortran.mk uses it to select the Fortran compiler. So with the line above the Fortran part of net/mpich will be built with lang/gcc5. In your opencoarray port I think you can do something like this: ... USES= fortran ... .include <bsd.port.pre.mk> .if ${GCC_DEFAULT:R} < 5 IGNORE= This port requires that the default GCC version is 5 or higher .endif ... .include <bsd.port.post.mk>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160222100149.05fbca90>