svn commit: r452962 - head/math/libRmath

Yuri yuri at rawbw.com
Sun Oct 29 01:43:32 UTC 2017


On 10/28/17 18:22, Johannes M Dieterich wrote:
> 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


There are ~150 ports using fortran. I also randomly checked several of 
them, and some of them failed. Some failures depend on pending upstream 
fixes in flang. Ideally, all fortran-dependent ports need to be checked.


Yuri





More information about the svn-ports-all mailing list