Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Oct 2017 21:22:24 -0400
From:      Johannes M Dieterich <jmd@freebsd.org>
To:        Joseph Mingrone <jrm@FreeBSD.org>
Cc:        Tijl Coosemans <tijl@FreeBSD.org>, ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org, portmgr@FreeBSD.org, yuri@rawbw.com, maho@FreeBSD.org, sunpoet@FreeBSD.org
Subject:   Re: svn commit: r452962 - head/math/libRmath
Message-ID:  <20171028212224.5a675ac0@manray.ogolem.org>
In-Reply-To: <861slmu8qx.fsf@phe.ftfl.ca>
References:  <201710270052.v9R0qf7A058644@repo.freebsd.org> <20171027125130.39e98c9c@kalimero.tijl.coosemans.org> <86d158vcve.fsf@phe.ftfl.ca> <20171028124843.56f8e8d3@kalimero.tijl.coosemans.org> <86y3nvtjlt.fsf@phe.ftfl.ca> <20171028182237.1f83708c@kalimero.tijl.coosemans.org> <861slmu8qx.fsf@phe.ftfl.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 28 Oct 2017 20:56:38 -0300
Joseph Mingrone <jrm@FreeBSD.org> wrote:

> Tijl Coosemans <tijl@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20171028212224.5a675ac0>