[R-sig-Geo] cannot install rgdal after updating to fedora32
Roger Bivand
Roger@B|v@nd @end|ng |rom nhh@no
Mon Jun 29 14:02:22 CEST 2020
In thread
https://stat.ethz.ch/pipermail/r-sig-fedora/2020-June/000653.html, Iñaki
Úcar explains that, following the introduction of AC_LANG(C++) into
configure.ac about 11 June, the Fedora R rpm would also need CXXFLAGS set.
Having added : ${CXXFLAGS=`"${RBIN}" CMD config CXXFLAGS`} to
configure.ac, I can confirm that the work-around flag is not needed, and
that (once R-forge revision 1021 completes), install.packages("rgdal",
repos="http://R-Forge.R-project.org") should work on Fedora R rpm
platforms. Those affected please check and confirm.
Many thanks to Bennet and Iñaki!
Roger
On Mon, 29 Jun 2020, Roger Bivand wrote:
> Bennet,
>
> Thanks for the careful analysis.
>
> On Sun, 28 Jun 2020, Bennet Fauber wrote:
>
>> 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
>>
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1343892 includes more
> information. Many traces in search suggest that a missing redhat-rpm-config
> package is to blame, but it is certainly present on my test system.
>
> The Redhat policy positions are specified in:
>
> https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/
>
> but do not seem to resolve the conflict between autoconf and
> -specs=/usr/lib/rpm/redhat/redhat-hardened-ld.
>
> I'll raise this on the R fedora list.
>
> Roger
>
>> 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
>>>>> configure: -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
>>>>> configure: -fexceptions -fstack-protector-strong -grecord-gcc-switches
>>>>> configure: -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
>>>>> configure: -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
>>>>> configure: -mtune=generic -fasynchronous-unwind-tables
>>>>> configure: -fstack-clash-protection -fcf-protection
>>>>> configure: CPPFLAGS: -I/usr/local/include
>>>>> configure: LDFLAGS: -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
>>>>> configure: -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
>>>>> loadflags: yes
>>>>> configure: LDFLAGS: -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
>>>>> configure: -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
>>
>
>
--
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
More information about the R-sig-Geo
mailing list