[R-sig-Geo] cannot install rgdal after updating to fedora32

Bennet Fauber bennet @end|ng |rom um|ch@edu
Sun Jun 28 22:55:01 CEST 2020


Roger,

This seems to be an outcome of a 'security' policy that
RedHat/Fedora/CentOS implemented.  There are some circumstances where
I think that could be justified, but I do not think compiling R is one
of them.

It was reported several times to RedHat's Bugzilla and basically
ignored by RedHat at least as far back as 2015-12-02.  There are
several reports of slightly different versions of the report, but none
of them got acted upon.  Some details and links to other issues marked
as duplicates (but also seemingly closed without any attention or
action) can be found at

    https://bugzilla.redhat.com/show_bug.cgi?id=1287743

The version of R-rgdal that is in the Fedora archive as a binary is
rgdal_1.4-8 and that .srpm will build, however if it is updated to use
rgdal_1.5-12 it fails the same way that it does with the source build.



On Sun, Jun 28, 2020 at 1:17 PM Roger Bivand <Roger.Bivand using nhh.no> wrote:
>
> On Sun, 28 Jun 2020, Ista Zahn wrote:
>
> > I can reproduce this error using the official Fedora 32 docker image:
>
> The error is in the RPM propagating its LDFLAGS which are  not needed (or
> cause no havoc) in simple tests for C compiler functionality in
> ./configure. For the arguably broken R rpm, use either LDFLAGS="" or the
> svn rev. 1020 configure argument --disable-loadflags. The load flags are
> far more than is sensibly needed to check whether the compile train works.
> I have used RH, RHEL and Fedora since the last century, and have always
> installed R from source. Recently, the TexLive packaging system drew in
> (totally unecessarily) a dependency on the R rpm, which I now have to
> avoid using. My rpm:
>
> $ /usr/bin/R CMD config LDFLAGS
> -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
> -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
>
> and compiled from source:
>
> $ R CMD config LDFLAGS
> -L/usr/local/lib64
>
> Why the rpm LDFLAGS demolish a simple AC_LANG(C++) (guesswork, now line
> 504 in configure.ac) is unknown for me, hence the need for the workaround.
>
> I advise strongly against binary packaging of rgdal for Linux, and was not
> aware that any such packaging had been attempted. Changes in GDAL and PROJ
> happen fast, and Fedora/Centos etc. have been really slow to update.
>
> If anyone understands why the R Fedora rpm imposes such vicious LDFLAGS
> and can explain why they are needed and how to run a cross platform
> configure script without having to special-case platforms, I'd be mildly
> interested to know. sf has also been through similar trouble as mentioned
> earlier in this thread.
>
> Roger
>
> >
> > docker run -it library/fedora:32
> > dnf install 'dnf-command(builddep)'
> > dnf builddep R-rgdal
> > R
> > install.packages("rgdal")
> >
> > * installing *source* package ‘rgdal’ ...
> > ** package ‘rgdal’ successfully unpacked and MD5 sums checked
> > ** using staged installation
> > configure: R_HOME: /usr/lib64/R
> > configure: CC: gcc -m64
> > configure: CXX: g++ -m64 -std=gnu++11
> > configure: CXX11 is: g++ -m64, CXX11STD is: -std=gnu++11
> > configure: CXX is: g++ -m64 -std=gnu++11
> > configure: C++11 support available
> > configure: rgdal: 1.5-12
> > checking for /usr/bin/svnversion... no
> > configure: svn revision: 1018
> > checking for gdal-config... /usr/bin/gdal-config
> > checking gdal-config usability... yes
> > configure: GDAL: 3.0.4
> > checking GDAL version >= 1.11.4... yes
> > checking GDAL version <= 2.5 or >= 3.0... yes
> > checking GDAL: linking with --libs only... yes
> > checking GDAL: gdal-config data directory readable... yes
> > checking GDAL: /usr/share/gdal/stateplane.csv readable... yes
> > configure: pkg-config proj exists, will use it
> > configure: PROJ version: 6.3.2
> > configure: PROJ CPP flags: -DPROJ_H_API
> > configure: PROJ LIBS: -lproj
> > checking PROJ header API:... yes
> > checking whether the C++ compiler works... yes
> > checking for C++ compiler default output file name... a.out
> > checking for suffix of executables...
> > checking whether we are cross compiling... configure: error: in
> > `/tmp/Rtmp2o3TMz/R.INSTALLf5d2a7cbb3e/rgdal':
> > configure: error: cannot run C++ compiled programs.
> > If you meant to cross compile, use `--host'.
> > See `config.log' for more details
> > ERROR: configuration failed for package ‘rgdal’
> > * removing ‘/usr/lib64/R/library/rgdal’
> >
> > The downloaded source packages are in
> >        ‘/tmp/RtmpooFgiH/downloaded_packages’
> > Updating HTML index of packages in '.Library'
> > Warning messages:
> > 1: In install.packages("rgdal") :
> >  installation of package ‘rgdal’ had non-zero exit status
> > 2: In file.create(f.tg) :
> >  cannot create file '/usr/share/doc/R/html/packages.html', reason 'No
> > such file or directory'
> > 3: In make.packages.html(.Library) : cannot update HTML package index
> >>
> >
> > I don't have any insight into what happens here, but it is reproducible.
> >
> > Best,
> > Ista
> >
> > On Sun, Jun 28, 2020 at 9:42 AM Veronica Andreo <veroandreo using gmail.com> wrote:
> >>
> >> Dear Roger,
> >>
> >> Thanks for the answer.
> >>
> >> R is installed from Fedora repos and no, I do not have any issues with sf. It installs and loads just fine.
> >>
> >> I downloaded the new rgdal tar.gz from R-forge, but I get the same error that was reported yesterday; config.log file attached. The first error I see there is in line 98-99 about a -V not recognized and then another one for -qversion. Are those relevant?
> >>
> >> Vero
> >> ---
> >> install.packages("~/Downloads/rgdal_1.5-13.tar.gz", repos = NULL, type = "source")
> >> Installing package into ‘/home/veroandreo/R/x86_64-redhat-linux-gnu-library/3.6’
> >> (as ‘lib’ is unspecified)
> >> * installing *source* package ‘rgdal’ ...
> >> ** using staged installation
> >> configure: R_HOME: /usr/lib64/R
> >> configure: CC: gcc -m64
> >> configure: CXX: g++ -m64 -std=gnu++11
> >> configure: CFLAGS: -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
> >> configure: CPPFLAGS: -I/usr/local/include
> >> configure: LDFLAGS: -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
> >> loadflags: yes
> >> configure: LDFLAGS: -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
> >> configure: CXX11 is: g++ -m64, CXX11STD is: -std=gnu++11
> >> configure: CXX is: g++ -m64 -std=gnu++11
> >> configure: C++11 support available
> >> configure: rgdal: 1.5-13
> >> checking for /usr/bin/svnversion... yes
> >> cat: inst/SVN_VERSION: No such file or directory
> >> configure: svn revision:
> >> checking for gdal-config... /usr/bin/gdal-config
> >> checking gdal-config usability... yes
> >> configure: GDAL: 3.0.4
> >> checking GDAL version >= 1.11.4... yes
> >> checking GDAL version <= 2.5 or >= 3.0... yes
> >> checking GDAL: linking with --libs only... yes
> >> checking GDAL: gdal-config data directory readable... yes
> >> checking GDAL: /usr/share/gdal/stateplane.csv readable... yes
> >> configure: pkg-config proj exists, will use it
> >> configure: PROJ version: 6.3.2
> >> configure: PROJ CPP flags: -DPROJ_H_API
> >> configure: PROJ LIBS: -lproj
> >> checking PROJ header API:... yes
> >> checking whether the C++ compiler works... yes
> >> checking for C++ compiler default output file name... a.out
> >> checking for suffix of executables...
> >> checking whether we are cross compiling... configure: error: in `/home/veroandreo/tmp/Rtmp9DsGuk/R.INSTALL16352f5a74a/rgdal':
> >> configure: error: cannot run C++ compiled programs.
> >> If you meant to cross compile, use `--host'.
> >> See `config.log' for more details
> >> ERROR: configuration failed for package ‘rgdal’
> >> * removing ‘/home/veroandreo/R/x86_64-redhat-linux-gnu-library/3.6/rgdal’
> >> Warning in install.packages :
> >>   installation of package ‘/home/veroandreo/Downloads/rgdal_1.5-13.tar.gz’ had non-zero exit status
> >>
> >>
> >>
> >> El dom., 28 jun. 2020 a las 14:44, Roger Bivand (<Roger.Bivand using nhh.no>) escribió:
> >>>
> >>> On Sun, 28 Jun 2020, Roger Bivand wrote:
> >>>
> >>>> Vero,
> >>>>
> >>>> On Sat, 27 Jun 2020, Veronica Andreo wrote:
> >>>>
> >>>>>  See the attached config.log file
> >>>>>
> >>>>
> >>>> How did you install R itself? If an rpm, then
> >>>>
> >>>> https://github.com/r-spatial/sf/issues/1369
> >>>>
> >>>> may be relevant, also if you see errors installing sf. You would need to
> >>>> unset LDFLAGS before installing:
> >>>>
> >>>> https://github.com/r-spatial/sf/issues/1369#issuecomment-614096865
> >>>>
> >>>> Please report back on this.
> >>>
> >>> LDFLAGS needs unsetting. Revision 1020 on R-Forge
> >>>
> >>> https://r-forge.r-project.org/R/?group_id=884
> >>>
> >>> includes a new configure argument --disable-loadflags to assist in
> >>> unsetting the very specific R rpm LDFLAGS. Please report if this fixes the
> >>> problem.
> >>>
> >>> Roger
> >>>
> >>>
> >>>>
> >>>> Roger
> >>>>
> >>>>>  El sáb., 27 jun. 2020 a las 21:29, Veronica Andreo
> >>>>>  (<veroandreo using gmail.com>)
> >>>>>  escribió:
> >>>>>
> >>>>>>  Hello everyone
> >>>>>>
> >>>>>>  I have just updated my system to fedora 32 (which fetched GDAL 3 and PROJ
> >>>>>>  6) and when updating my R packages, I get the following error for rgdal.
> >>>>>>  Can someone help me out here? What does it mean that it cannot run C++
> >>>>>>  compiled programs?  And do I want to crosscompile?
> >>>>>>
> >>>>>>  Thanks much in advance
> >>>>>>
> >>>>>>  Vero
> >>>>>>
> >>>>>>  ---
> >>>>>>
> >>>>>>  install.packages("rgdal")
> >>>>>>  Installing package into
> >>>>>>  ‘/home/veroandreo/R/x86_64-redhat-linux-gnu-library/3.6’
> >>>>>>  (as ‘lib’ is unspecified)
> >>>>>>  trying URL 'http://cran.rstudio.com/src/contrib/rgdal_1.5-12.tar.gz'
> >>>>>>  Content type 'application/x-gzip' length 2302403 bytes (2.2 MB)
> >>>>>>  ==================================================
> >>>>>>  downloaded 2.2 MB
> >>>>>>
> >>>>>>  * installing *source* package ‘rgdal’ ...
> >>>>>>  ** package ‘rgdal’ successfully unpacked and MD5 sums checked
> >>>>>>  ** using staged installation
> >>>>>> configure:  R_HOME: /usr/lib64/R
> >>>>>> configure:  CC: gcc -m64
> >>>>>> configure:  CXX: g++ -m64 -std=gnu++11
> >>>>>> configure:  CXX11 is: g++ -m64, CXX11STD is: -std=gnu++11
> >>>>>> configure:  CXX is: g++ -m64 -std=gnu++11
> >>>>>> configure:  C++11 support available
> >>>>>> configure:  rgdal: 1.5-12
> >>>>>>  checking for /usr/bin/svnversion... yes
> >>>>>> configure:  svn revision: 1018
> >>>>>>  checking for gdal-config... /usr/bin/gdal-config
> >>>>>>  checking gdal-config usability... yes
> >>>>>> configure:  GDAL: 3.0.4
> >>>>>>  checking GDAL version >= 1.11.4... yes
> >>>>>>  checking GDAL version <= 2.5 or >= 3.0... yes
> >>>>>>  checking GDAL: linking with --libs only... yes
> >>>>>>  checking GDAL: gdal-config data directory readable... yes
> >>>>>>  checking GDAL: /usr/share/gdal/stateplane.csv readable... yes
> >>>>>> configure:  pkg-config proj exists, will use it
> >>>>>> configure:  PROJ version: 6.3.2
> >>>>>> configure:  PROJ CPP flags: -DPROJ_H_API
> >>>>>> configure:  PROJ LIBS: -lproj
> >>>>>>  checking PROJ header API:... yes
> >>>>>>  checking whether the C++ compiler works... yes
> >>>>>>  checking for C++ compiler default output file name... a.out
> >>>>>>  checking for suffix of executables...
> >>>>>>  checking whether we are cross compiling... configure: error: in
> >>>>>>  `/home/veroandreo/tmp/Rtmpo7AtPr/R.INSTALL12cc66f8f895/rgdal':
> >>>>>> configure:  error: cannot run C++ compiled programs. <<<<--- here
> >>>>>>  If you meant to cross compile, use `--host'.
> >>>>>>  See `config.log' for more details
> >>>>>>  ERROR: configuration failed for package ‘rgdal’
> >>>>>>  * removing ‘/home/veroandreo/R/x86_64-redhat-linux-gnu-library/3.6/rgdal’
> >>>>>>  * restoring previous
> >>>>>>  ‘/home/veroandreo/R/x86_64-redhat-linux-gnu-library/3.6/rgdal’
> >>>>>>  Warning in install.packages :
> >>>>>>    installation of package ‘rgdal’ had non-zero exit status
> >>>>>>
> >>>>>>  ---
> >>>>>>
> >>>>>>  sessionInfo()
> >>>>>>  R version 3.6.3 (2020-02-29)
> >>>>>>  Platform: x86_64-redhat-linux-gnu (64-bit)
> >>>>>>  Running under: Fedora 32 (Thirty Two)
> >>>>>>
> >>>>>>  Matrix products: default
> >>>>>>  BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.9.so
> >>>>>>
> >>>>>>  Random number generation:
> >>>>>>   RNG:     Mersenne-Twister
> >>>>>>   Normal:  Inversion
> >>>>>>   Sample:  Rounding
> >>>>>>
> >>>>>>  locale:
> >>>>>>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
> >>>>>>   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
> >>>>>>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
> >>>>>>   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
> >>>>>>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
> >>>>>>  [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
> >>>>>>
> >>>>>>  attached base packages:
> >>>>>>  [1] stats     graphics  grDevices utils     datasets  methods   base
> >>>>>>
> >>>>>>  loaded via a namespace (and not attached):
> >>>>>>  [1] compiler_3.6.3 tools_3.6.3
> >>>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>> Roger Bivand
> >>> Department of Economics, Norwegian School of Economics,
> >>> Helleveien 30, N-5045 Bergen, Norway.
> >>> voice: +47 55 95 93 55; e-mail: Roger.Bivand using nhh.no
> >>> https://orcid.org/0000-0003-2392-6140
> >>> https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
> >>
> >> _______________________________________________
> >> R-sig-Geo mailing list
> >> R-sig-Geo using r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
>
> --
> Roger Bivand
> Department of Economics, Norwegian School of Economics,
> Helleveien 30, N-5045 Bergen, Norway.
> voice: +47 55 95 93 55; e-mail: Roger.Bivand using nhh.no
> https://orcid.org/0000-0003-2392-6140
> https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en_______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo



More information about the R-sig-Geo mailing list