svn commit: r452962 - head/math/libRmath
Johannes M Dieterich
jmd at freebsd.org
Sun Oct 29 01:22:33 UTC 2017
On Sat, 28 Oct 2017 20:56:38 -0300
Joseph Mingrone <jrm at FreeBSD.org> wrote:
> Tijl Coosemans <tijl at FreeBSD.org> writes:
> > It's not a gfortran problem. It's a kernel or libthr problem. You
> > can work around it by avoiding the combination of recycled thread
> > stacks and exception handling done by ports libgcc_s. When you
> > switched from curl to wget you avoided threads and that fixed the
> > problem. Switching to flang avoids ports libgcc_s and that also
> > fixes the problem, but it's not necessary to go this way. You
> > could probably go back to curl if you build it with the CARES
> > option instead of THREADED_RESOLVER.
>
> I missed this paragraph last time around.
>
> It's not really a switch to wget. We just pull it in as RUN_DEPENDS
> when gfortran is on. R still defaults to downloading packages with
> curl. Users can create/edit configuration to switch to wget, which is
> not a big deal, but not ideal. I've copied sunpoet@, the maintainer
> of ftp/curl. sunpoet@, what do you think about switching ftp/curl's
> default to c-ares instead of THREADED_RESOLVER to work around this
> problem (until there are fixes for the threading problem that is
> triggered with ports libgcc_s)?
>
> Here is a quick-and-dirty poudriere testport run. I say
> quick-and_dirty because 1) I just included ports, which have a
> Makefile with USES.*fortran in them, so there are probably some ports
> missing and 2) I haven't looked in detail at the build logs to see
> what is going on. math/lapack resulted in, by far, the most severe
> fallout.
>
> http://pkg.awarnach.mathstat.dal.ca/build.html?mastername=11amd64-default&build=2017-10-28_12h15m47s
Thanks for running this!
I spent a few minutes on the lapack failure. Turns out this is one of
these homebrew situations. It uses etime, a gfortran extension.
make.inc should allow however to select NONE or CPU_TIME (which is the
F95 standard function).
For some of the others:
openblas tries to link against libgfortran.
mpich/mpich2 looks like an invalid linking command for clang.
arpack uses a gfortran-only command line argument to release the fixed
format line length requirement.
fr-med needs an -fPIC.
netcdf-fortran is another case of invalid linking command.
mumps tries to link libgfortran.
openmpi is another case of invalid linking command
gotoblas is still using gcc6 somehow
NASTRAN looks like a legitimate flang issue that should be reported.
libxc: see above, invalid linking command.
All things considered, this looks not terrible, I think (I am
positively surprised actually).
Johannes
More information about the svn-ports-head
mailing list