On Mon, 29 Jun 2020 at 11:24, I?aki Ucar <iucar at fedoraproject.org> wrote:
On Mon, 29 Jun 2020 at 10:21, Roger Bivand <Roger.Bivand at nhh.no> wrote:
In the rgdal package, configure.ac has had : ${LDFLAGS=`"${RBIN}" CMD
config LDFLAGS`} at least since 2012, so picking up LDFLAGS known to the R
version installed. Very recently, users installing rgdal from source with
R installed from RPM are seeing problems, such as those reported in this
thread: https://stat.ethz.ch/pipermail/r-sig-geo/2020-June/028251.html
The diagnosis by Bennet Fauber, that
LDFLAGS='-specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
is the problem, that LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now'
works OK, and that the -specs= conflict with autoconf has not been
resolved seems accurate to me (see also
https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/,
https://bugzilla.redhat.com/show_bug.cgi?id=1343892).
I realise that the R RPM needs to follow RH/F standards, but has something
happened in the RPM ecosystem recently to poison the -spec/autoconf
relationship?
Did something change in rgdal's flags from 1.5-10 to 1.5-12? Because
the former installs fine. You can see in [1] that it fails since the
last update.
I see that rgdal changed to C++ recently. The issue is in rgdal,
because the configure script is missing:
CXXFLAGS=`"${R_HOME}/bin/R" CMD config CXXFLAGS`
as indicated in Writing R Extensions (note that CPPFLAGS are *not*
CXXFLAGS; I say this because it's a common mistake).