[R-sig-Geo] CRAN releases of sp, rgdal and rgeos

Vijay Lulla vij@ylull@ @ending from gm@il@com
Tue Jun 12 16:41:52 CEST 2018


Thank you for the explanation of difference between proj.h and proj_api.h
and the recommendation of setting environment variable for pkg-config.  I
had tried using pkg-config by setting env variables but haven't had much
luck getting it to work.
Cordially,
Vijay.

On Tue, Jun 12, 2018 at 3:11 AM, Roger Bivand <Roger.Bivand using nhh.no> wrote:

> On Tue, 12 Jun 2018, Vijay Lulla wrote:
>
> I too use R on a mac but I cannot get rgdal to use proj5 (port info proj).
>> rgdal still uses proj4 even when there is a newer version of proj already
>> on my computer.  Neither of these proj packages (proj4 or proj) use
>> pkg-config mechanism even though there are proj.pc files in both versions
>> of the package.  Maybe using the pkg-config mechanism to detect version of
>> packages during source installation might help?  I don't know whether this
>> is a "proj" or a "macports" issue though.
>>
>>
> Neither sp/rgdal nor sf plan to accomodate the proj.h interface until the
> GDAL barn-raising project is completed. Even then, most software using proj
> will have to support the proj_api.h and the proj.h APIs because many
> platforms are bound to move at the speed of the slowest package using proj.
> The proj_api.h API does use the new mechanisms internally, but it isn't
> obvious how or whether proj.h pipelines should be exposed (GRASS has a
> prototype implementation).
>
> If you work in geodetics and need sub-cm precision, this may matter; in
> which case please follow the GDAL barn-raising project and provide use
> cases where the proj.h API is required. The main difference is that the
> proj_api.h API always transforms to the WGS84 datum first then transforms
> to the target datum (many to one then one to many). When this was chosen
> 1984 was not so long ago; the new proj.h API suggests transforming along a
> pipeline from source to target datum without going through WGS84 (many to
> many).
>
> If your question is about how to install rgdal from source on OSX, you may
> need to ensure that you only have one version of proj installed, or use
> configure arguments and load path modifications on your own responsibility.
>
> From rgdal 1.3-1, the pkg-config mechanism is used if the path to proj.pc
> is set correctly (environment variable), but will fall back on standard
> locations if pkg-config proj fails.
>
> Roger
>
>
>
>> On Mon, Jun 11, 2018 at 7:54 PM, Thiago V. dos Santos via R-sig-Geo <
>> r-sig-geo using r-project.org> wrote:
>>
>> Hi Roger, thanks for the follow up. Answering to your comments:
>>>
>>> a) I am using Macports's gdal version 2.3.0.20180523. I am pretty sure
>>> that its source code (i.e. the one that is compiled on my machine) is
>>> downloaded from OSGEO (at least according to https://github.com/
>>> macports/macports-ports/blob/master/gis/gdal/Portfile);
>>>
>>> b) I do have more than one libproj installed on my system (as QGIS for
>>> macOS requires its own gdal and proj stuff), but only the Macports one is
>>> on my path;
>>>
>>>
>>> c) I tried running:
>>> tools::testInstalledPackage("rgdal", outDir=tempdir())list.files(
>>> tempdir())file.show(file.path(tempdir(), "rgdal-Ex.Rout"))
>>>
>>> but it unexpectedly returned "Error in library("rgdal") : there is no
>>> package called ‘rgdal’. Execution halted".
>>>
>>> It looks weird but so far I am able to normally load and use at least a
>>> couple of rgdal's functions.
>>>
>>> I will keep monitoring it though, and report any other issue.
>>>
>>> Cheers,
>>>  -- Thiago V. dos Santos
>>> Postdoctoral Research FellowDepartment of Climate and Space Science and
>>> EngineeringUniversity of Michigan
>>>
>>>     On Sunday, June 10, 2018, 4:46:04 AM EDT, Roger Bivand <
>>> Roger.Bivand using nhh.no> wrote:
>>>
>>>  Thanks for reporting, comments inline below (note that I have no OSX
>>> access at all):
>>>
>>> On Sat, 9 Jun 2018, Thiago V. dos Santos wrote:
>>>
>>> Dear Roger,
>>>> Thank you very much for the excellent work done with those packages.
>>>> Today I update both rgeos and rgdal on my system - macOS 10.13.5 with
>>>> all dependencies installed via MacPorts. I had updated sp a few days
>>>> earlier. The dependencies versions on my system are gdal
>>>> @2.3.0.20180523_0+grib+hdf4+hdf5+jasper+mpich+netcdf and proj @5.1.0_0.
>>>> Rgeos's update went flawlessly, but I got a few errors while updating
>>>> rgdal. It still compiled successfully, but I am concerned that some
>>>> functionality might be compromised due to the errors.
>>>> This is what I got (I have to manually specify the location of proj or
>>>> rgdal won't find it):> install.packages('rgdal', type = "source",
>>>> configure.args=c(
>>>> +    '--with-proj-include=/opt/local/lib/proj5/include',
>>>> +    '--with-proj-lib=/opt/local/lib/proj5/lib'))
>>>> Installing package into ‘/Users/thiago/Documents/R-packages’
>>>> (as ‘lib’ is unspecified)
>>>> trying URL 'https://cran.r-project.org/src/contrib/rgdal_1.3-2.tar.gz'
>>>> Content type 'application/x-gzip' length 1667049 bytes (1.6 MB)
>>>> ==================================================
>>>> downloaded 1.6 MB
>>>>
>>>> * installing *source* package ‘rgdal’ ...
>>>> ** package ‘rgdal’ successfully unpacked and MD5 sums checked
>>>> configure: CC: /usr/bin/clang
>>>> configure: CXX: /usr/bin/clang++
>>>> configure: rgdal: 1.3-2
>>>> checking for /usr/bin/svnversion... yes
>>>> configure: svn revision: 755
>>>> 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... no
>>>> checking for suffix of object files... o
>>>> checking whether we are using the GNU C++ compiler... yes
>>>> checking whether /usr/bin/clang++ accepts -g... yes
>>>> checking whether /usr/bin/clang++ supports C++11 features by default...
>>>>
>>> no
>>>
>>>> checking whether /usr/bin/clang++ supports C++11 features with
>>>>
>>> -std=gnu++11... yes
>>>
>>>> configure: C++11 support available
>>>> checking for gdal-config... /opt/local/bin/gdal-config
>>>> checking gdal-config usability... yes
>>>> configure: GDAL: 2.4.0
>>>>
>>>
>>> All OK up to the GDAL version returned by gdal-config - are you using the
>>> released GDAL 2.3.0 (probably not) or master?
>>>
>>> checking C++11 support for GDAL >= 2.3.0... yes
>>>> checking GDAL version >= 1.11.4... yes
>>>> checking gdal: linking with --libs only... yes
>>>> checking GDAL: /opt/local/share/gdal/pcs.csv readable... yes
>>>> checking proj_api.h presence and usability... yes
>>>> ./configure: line 3395: test: =: unary operator expected
>>>>
>>>
>>> Will check, that line is:
>>>
>>> if test ${PROJ_VERSION} = "" ; then
>>>
>>> from configure.ac line 305. Possibly a shell dialect issue.
>>>
>>> checking PROJ version >= 4.8.0... yes
>>>> checking projects.h presence and usability... yes
>>>>
>>>
>>> These relate to configure.ac lines 376-419, and the outcome: epsg found
>>> and readable is OK - could there be two libproj on your system (maybe for
>>> different architectures)?
>>>
>>> Undefined symbols for architecture x86_64:
>>>>  "_pj_ctx_fclose", referenced from:
>>>>      _main in proj_conf_test2-06fe7d.o
>>>>  "_pj_get_default_ctx", referenced from:
>>>>      _main in proj_conf_test2-06fe7d.o
>>>>  "_pj_open_lib", referenced from:
>>>>      _main in proj_conf_test2-06fe7d.o
>>>> ld: symbol(s) not found for architecture x86_64
>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>>
>>> invocation)
>>>
>>>> ./configure: line 3511: ./proj_conf_test2: No such file or directory
>>>> checking PROJ.4: epsg found and readable... yes
>>>>
>>>
>>> Same here for next block in configure.ac; conus found and readable.
>>>
>>> Undefined symbols for architecture x86_64:
>>>>  "_pj_ctx_fclose", referenced from:
>>>>      _main in proj_conf_test3-3b7aa2.o
>>>>  "_pj_get_default_ctx", referenced from:
>>>>      _main in proj_conf_test3-3b7aa2.o
>>>>  "_pj_open_lib", referenced from:
>>>>      _main in proj_conf_test3-3b7aa2.o
>>>> ld: symbol(s) not found for architecture x86_64
>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>>
>>> invocation)
>>>
>>>> ./configure: line 3570: ./proj_conf_test3: No such file or directory
>>>> checking PROJ.4: conus found and readable... yes
>>>> configure: Package CPP flags:  -I/opt/local/include
>>>>
>>> -I/opt/local/lib/proj5/include
>>>
>>>> configure: Package LIBS:  -L/opt/local/lib -lgdal
>>>>
>>> -L/opt/local/lib/proj5/lib -lproj
>>>
>>>> configure: creating ./config.status
>>>> config.status: creating src/Makevars
>>>> ** libs
>>>> clang++ -std=gnu++11 -I"/Library/Frameworks/R.frame
>>>> work/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2 -c OGR_write.cpp -o OGR_write.o
>>>
>>>> clang++ -std=gnu++11 -I"/Library/Frameworks/R.frame
>>>> work/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2 -c gdal-bindings.cpp -o gdal-bindings.o
>>>
>>>> /usr/bin/clang -I"/Library/Frameworks/R.framework/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2  -c init.c -o init.o
>>>
>>>> /usr/bin/clang -I"/Library/Frameworks/R.framework/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2  -c inverser.c -o inverser.o
>>>
>>>> /usr/bin/clang -I"/Library/Frameworks/R.framework/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2  -c local_stubs.c -o local_stubs.o
>>>
>>>> clang++ -std=gnu++11 -I"/Library/Frameworks/R.frame
>>>> work/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2 -c ogr_geom.cpp -o ogr_geom.o
>>>
>>>> /usr/bin/clang -I"/Library/Frameworks/R.framework/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2  -c ogr_polygons.c -o ogr_polygons.o
>>>
>>>> clang++ -std=gnu++11 -I"/Library/Frameworks/R.frame
>>>> work/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2 -c ogr_proj.cpp -o ogr_proj.o
>>>
>>>> clang++ -std=gnu++11 -I"/Library/Frameworks/R.frame
>>>> work/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2 -c ogrdrivers.cpp -o ogrdrivers.o
>>>
>>>> clang++ -std=gnu++11 -I"/Library/Frameworks/R.frame
>>>> work/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2 -c ogrsource.cpp -o ogrsource.o
>>>
>>>> clang++ -std=gnu++11 -I"/Library/Frameworks/R.frame
>>>> work/Resources/include"
>>>>
>>> -DNDEBUG -I/opt/local/include -I/opt/local/lib/proj5/include
>>> -I"/Users/thiago/Documents/R-packages/sp/include" -I/usr/local/include
>>> -fPIC  -Wall -g -O2 -c projectit.cpp -o projectit.o
>>>
>>>> clang++ -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names
>>>>
>>> -undefined dynamic_lookup -single_module -multiply_defined suppress
>>> -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o
>>> rgdal.so OGR_write.o gdal-bindings.o init.o inverser.o local_stubs.o
>>> ogr_geom.o ogr_polygons.o ogr_proj.o ogrdrivers.o ogrsource.o projectit.o
>>> -L/opt/local/lib -lgdal -L/opt/local/lib/proj5/lib -lproj
>>> -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
>>> -Wl,CoreFoundation
>>>
>>>> installing to /Users/thiago/Documents/R-packages/rgdal/libs
>>>> ** R
>>>> ** data
>>>> ** inst
>>>> ** byte-compile and prepare package for lazy loading
>>>> ** help
>>>> *** installing help indices
>>>> ** building package indices
>>>> ** installing vignettes
>>>> ** testing if installed package can be loaded
>>>> * DONE (rgdal)
>>>>
>>>> The downloaded source packages are in
>>>>
>>>> ‘/private/var/folders/_z/01gg71zs19g816v6m2dddt8w0000gn
>>>>
>>> /T/Rtmp5K6lt8/downloaded_packages’
>>>
>>>> ​Is this something that needs to be investigated, or I can just safely
>>>> ignore those messages?
>>>>
>>>
>>> Please try to run:
>>>
>>> tools::testInstalledPackage("rgdal", outDir=tempdir())
>>> list.files(tempdir())
>>> file.show(file.path(tempdir(), "rgdal-Ex.Rout"))
>>>
>>> and if the outcomes are as expected, you should be OK, please let us
>>> know.
>>>
>>> If any OSX users installing from source can contribute, that would be
>>> useful. It will take a little while before the CRAN OSX binaries catch up
>>> with new PROJ and GDAL.
>>>
>>> Again thanks for reporting!
>>>
>>> Roger
>>>
>>> Many thanks, -- Thiago V. dos Santos
>>>> Postdoctoral Research FellowDepartment of Climate and Space Science and
>>>>
>>> EngineeringUniversity of Michigan
>>>
>>>>
>>>>    On Friday, June 8, 2018, 2:15:43 PM EDT, Roger Bivand <
>>>>
>>> Roger.Bivand using nhh.no> wrote:
>>>
>>>>
>>>> There are new releases of sp, rgdal and rgeos on CRAN. Please install sp
>>>> first, then the other two, which link to the installed sp. They all
>>>> address so-called rchk issues, which have not so far been a problem, but
>>>> might have become more fragile as R's internal memory management is made
>>>> even more efficient. This involves compiled code using memory allocated
>>>>
>>> by
>>>
>>>> R to be freed by R's garbage collector, which has to know if an object
>>>> is
>>>> still being used. Tomas Kalibera, the author of rchk, helped resolve and
>>>> explain the issues encountered - what was good coding practice fifteen
>>>> years ago isn't always still good practice.
>>>>
>>>> In addition, the earliest versions of GDAL and PROJ with which rgdal
>>>> will
>>>> work have been updated, and set to PROJ 4.8.0 and GDAL 1.11.4. The
>>>>
>>> current
>>>
>>>> released versions of PROJ and GDAL are to be prefered, as bugs have been
>>>> fixed and new features and drivers introduced. A check has been put
>>>> in place to trap attempts to install rgdal without a C++11-capable
>>>> compiler when the GDAL version is >=2.3.0 - which requires C++11. rgeos
>>>>
>>> is
>>>
>>>> ready for the forthcoming version of GEOS.
>>>>
>>>> The CRAN team has also been very supportive of our efforts to bring
>>>> compiled code in these packages into rchk compliance.
>>>>
>>>> Please get in touch if you see any loose ends in these releases.
>>>>
>>>> Roger
>>>>
>>>>
>>>>
>>> --
>>> 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
>>> http://orcid.org/0000-0003-2392-6140
>>> https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
>>>         [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> 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
> http://orcid.org/0000-0003-2392-6140
> https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
>



-- 
Vijay Lulla

Assistant Professor,
Dept. of Geography, IUPUI
425 University Blvd, CA-207C.
Indianapolis, IN-46202
vlulla using iupui.edu
ORCID: https://orcid.org/0000-0002-0823-2522
Webpage: http://vijaylulla.com

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list