On May 31, 2020, at 2:15 AM, Simon Urbanek <simon.urbanek at R-project.org> wrote:
I believe you have to activate the anaconda environment to use it - but that means you have to use R from Anaconda and it is incompatible with anything else. All the package management systems are a horrible mess, because they now replace system libraries which makes them incompatible with the system and each other. Is there a particular reason why you?re not using the CRAN version? I know there was a discussion about how broken some of the most recent versions of the spatial libraries are, but I have not seen any requests yet...
Cheers,
Simon
On May 31, 2020, at 3:06 PM, Roy Mendelssohn - NOAA Federal <roy.mendelssohn at noaa.gov> wrote:
They are all from Anaconda Python. I used otool and that is indeed how they are set up (see below - and libgdal.26.dylib is the image it can't find) . I tried DYLD_FALLBACK_LIBRARY_PATH also a little while ago and it didn't make any difference, and we are a the point where it is beyond where I really know things.
otool -D /Users/rmendels/anaconda3/lib/libgdal.26.dylib
/Users/rmendels/anaconda3/lib/libgdal.26.dylib:
@rpath/libgdal.26.dylib
otool -L /Users/rmendels/anaconda3/lib/libgdal.26.dylib
/Users/rmendels/anaconda3/lib/libgdal.26.dylib:
@rpath/libgdal.26.dylib (compatibility version 27.0.0, current version 27.4.0)
@rpath/libtiledb.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libpoppler.78.dylib (compatibility version 78.0.0, current version 78.0.0)
@rpath/libjson-c.4.dylib (compatibility version 5.0.0, current version 5.0.0)
(and a bunch more)
I only mention these because they seem to have the complete set of PROJ, GEOS and GDAL at the newer versions, as well as the headers and *-config files. I have not been able to find another place that has everything (well perhaps brew has been updated, but brew has messed up my system in the past and last thing on this list is that it has not.) Also my usually source, Kyngchaos is still at gdal2.4
Chris suggested it was a permissions problem, but to use sudo I would have to get set up on a different machine, because on this machine I can only sudo as a different user, and that user doesn't have the necessary libraries and packages, and to set that up would be more work than I want to do right now.
So I was just hoping that if I could get it to compile, I could post what I did (I realized posting the package wouldn't work because you would need the dynamic libraries) and others could also do so if so desired. But I am pretty much at the point where I don't really understand what the next steps would be, and to find out would take more effort that I want to put into it right now. So I was hoping you (or someone else with a lot of knowledge about compiling on the Mac) might have suggestions.
Thanks,
-Roy
PS - I have some packages that use sp and sf, want to make certain I can test against the most recent versions using the newer libraries. I can see if errors are generated using some of the test platforms, but if there are errors they don't allow me to get in and debug.
On May 30, 2020, at 7:40 PM, Simon Urbanek <simon.urbanek at R-project.org> wrote:
Roy,
where did you get the libraries? If they use rpath it's quite tricky - that is not how native libraries work on macOS. Also the setting on macOS is not LD_LIBRARY_PATH but DYLD_FALLBACK_LIBRARY_PATH and is typically not needed unless the library is not built properly since macOS offers better options.
Cheers,
Simon
On May 31, 2020, at 6:11 AM, Roy Mendelssohn - NOAA Federal <roy.mendelssohn at noaa.gov> wrote:
Hi All:
Okay after some fiddling I was able to get it to sort of successfully compile, where I am having problems is in finding the dynamic libraries, such as I get this error:
dyld: Library not loaded: @rpath/libproj.19.dylib
Error: package or namespace load failed for ?rgdal? in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/Users/rmendels/Library/R/4.0/library/00LOCK-rgdal/00new/rgdal/libs/rgdal.so':
dlopen(/Users/rmendels/Library/R/4.0/library/00LOCK-rgdal/00new/rgdal/libs/rgdal.so, 6): Library not loaded: @rpath/libgdal.26.dylib
Referenced from: /Users/rmendels/Library/R/4.0/library/00LOCK-rgdal/00new/rgdal/libs/rgdal.so
Reason: image not found
Error: loading failed
It has to do with these are defined in terms of @rpath. I thought defining this in $LD_LIBRARY_PATH would do it, but I have:
echo $LD_LIBRARY_PATH
/Users/rmendels/Library/R/4.0/library:/Users/rmendels/anaconda3/lib
I also tried setting $DYLD_LIBRARY_PATH same problem. If someone can tell me how to set it so @rpath finds the dynamic libraries I might be able to get this to work.
Thanks,
-Roy
On May 30, 2020, at 8:04 AM, chris english <englishchristophera at gmail.com> wrote:
my setup - albeit on 20.04 as reported by sf
Linking to GEOS 3.9.0dev, GDAL 3.1.0, PROJ 7.0.1
Note I'm using release gdal, that I none the less built from source as I had to enable Mr. Sid for some particular
data. Couldn't get GDAL 3.2.*dev working but still toying around with it. Roger's discussion of the history of all
of this on r-spatial and the path forward is very much worth the read as and relates to his following message here.
On Sat, May 30, 2020 at 10:33 AM Roy Mendelssohn - NOAA Federal <roy.mendelssohn at noaa.gov> wrote:
Yes thanks. As I said in reply to Roger I am far from an expert in these things, but if I can get it to build, then I will try to post somewhere for others to use.
-Roy
On May 30, 2020, at 7:03 AM, chris english <englishchristophera at gmail.com> wrote:
Roy,
From a related prior post Roger shared this link to rgdal-1.5-9, http://spatial.nhh.no/R/rgdal/ . I followed discussions
from the 'sf' github readme and purged all prior proj/geos/gdal iterations that have lingered around over the past five
years and built them from source on ubuntu 20.04. This upgrade to 20.04 was perhaps my first mistake in a month
long effort to bring back my full spatial capabilities as it doesn't become the official LTS until sometime mid this month.
I don't know how Anaconda packages and may require sym links or copying files from down in the depths to visible,
but it worked before and can be made to work again.
HTH-
Chris
On Sat, May 30, 2020 at 8:08 AM Roger Bivand <Roger.Bivand at nhh.no> wrote:
On Fri, 29 May 2020, Thiago V. dos Santos wrote:
Dear Roger,
Many thanks for the effort keeping rgdal up-to-date with proj6.
I'd like to report that I am unable to install rgdal 1.5.8 on my macOS
system. I am reporting this error here on the list because I thought it
would be the best channel in terms of reaching future users experiencing
the same error. Please apologize if my rationale is not right, and
ignore this message.
GDAL was installed via MacPorts and is at its latest version, 3.1.0 (at
the time of this writing). Proj6 has also been installed via Macports.
This is how I am trying to install it:
export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
R
install.packages('rgdal', type="source", configure.args=c(
'--with-proj-include=/opt/local/lib/proj6/include',
'--with-proj-lib=/opt/local/lib/proj6/lib'))
and this is the output I get:
R version 4.0.0 (2020-04-24) -- "Arbor Day"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin17.0 (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
install.packages('rgdal', type="source", configure.args=c(
+ '--with-proj-include=/opt/local/lib/proj6/include',
+ '--with-proj-lib=/opt/local/lib/proj6/lib'))
Installing package into ?/Users/thiago/Documents/R-packages?
(as ?lib? is unspecified)
trying URL 'https://cran.r-project.org/src/contrib/rgdal_1.5-8.tar.gz'
Content type 'application/x-gzip' length 2299235 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: /Library/Frameworks/R.framework/Resources
configure: CC: /opt/local/bin/gcc
configure: CXX: /opt/local/bin/g++
configure: C++11 support available
configure: rgdal: 1.5-8
checking for /usr/bin/svnversion... yes
configure: svn revision: 990
checking for gdal-config... /opt/local/bin/gdal-config
checking gdal-config usability... yes
configure: GDAL: 3.1.0
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: /opt/local/share/gdal/stateplane.csv readable... yes
configure: pkg-config proj exists, will use it
So far so good, but you chose to override pkg-config proj by passing
configure arguments. You should let pkg-config proj provide those values.
configure: PROJ version: 6.3.2
configure: proj CPP flags: -DPROJ_H_API -I/opt/local/lib/proj6/include
configure: PROJ LIBS: -L/opt/local/lib/proj6/lib
checking PROJ header API:... proj.h
checking for gcc... /opt/local/bin/gcc
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 /opt/local/bin/gcc accepts -g... yes
checking for /opt/local/bin/gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... /opt/local/bin/gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking proj.h usability... yes
checking proj.h presence... yes
checking for proj.h... yes
checking for proj_context_create in -lproj... no
configure: error: proj_context_create not found in libproj.
The directory where libproj should be does not contain it - whether you
got it wrong, pkg-config got it wrong, or for some other reason, the
library was not found.
ERROR: configuration failed for package ?rgdal?
* removing ?/Users/thiago/Documents/R-packages/rgdal?
* restoring previous ?/Users/thiago/Documents/R-packages/rgdal?
The downloaded source packages are in
?/private/var/folders/_z/01gg71zs19g816v6m2dddt8w0000gn/T/RtmpvZAChj/downloaded_packages?
Warning message:
In install.packages("rgdal", type = "source", configure.args = c("--with-proj-include=/opt/local/lib/proj6/include", :
installation of package ?rgdal? had non-zero exit status
I found this error to be quite mysterious, and could not find any
previous discussion about it.
Try to avoid googling, it is usually misleading. Running ./configure in
the untarred source package directory, and running ./configure --help to
show the arguments to configure can be much more helpful. Crucially, they
are up to date, while most search hits are old, and they are ordered by
hit counts, which is certainly no guarantee of precision.
Are you familiar with it? Is there any other argument that I can pass to
install.packages to solve it?
Try not setting configure arguments and let pkg-config proj do the work if
you feel you can trust it. If, however, you have multiple installs of GDAL
and/or PROJ, the proj.pc file may point to a deleted install. Download and
untar the source package, and run just ./configure with its argumments, or
setting PKG_CONFIG_PATH= until you find a recipe that works that far.
Roger
Greetings,
-- Thiago V. dos Santos
ThiagoDosSantos.com
MudancasClimaticasBrasil.com
On Thursday, May 28, 2020, 08:53:50 AM GMT-3, Roger Bivand <roger.bivand at nhh.no> wrote:
With sp 1.4-2 and rgdal 1.5-8, those using GDAL 3 and PROJ 6 (including
users of the CRAN Windows binary when it comes) will be part of the big
migration to WKT2 from Proj4 strings for CRS representation. See
https://cran.r-project.org/web/packages/rgdal/vignettes/CRS_projections_transformations.html
or for a better rendering of "\phi" and bib-handling:
https://rgdal.r-forge.r-project.org/articles/CRS_projections_transformations.html
for background and https://www.r-spatial.org/r/2020/03/17/wkt.html for the
full sf and sp story.
You will see lots of warnings, they should grab your attention, that is
what they are for. We need your attention to be as sure as we can be that
your results - if affected by the transition - have been checked by you.
I plan to flip the warnings to default off from rgdal 1.6-*, and sp 1.5-*.
In some weeks but before flipping the defaults, I'll follow up showing
ways of muting them, but we really need to be confident that this
necessary and future-proofing change isn't silently destroying your work
first. So please don't treat the many warnings as just pesky and nagging -
they are priming your immune system to check for unwanted consequences of
your legacy CRS representation choices.
I'd also like to thank the maintainers of packages importing
from/depending on sp/rgdal for largely positive responses to issues raised
and emails sent, often less polite than they might have been, but grabbing
attention was more important. From over 70 broken reverse dependency
packages we are now well under 20, and I've contacted all of those, with
only a couple not responding. Edzer has seen similar responsiveness for
the parallel migration of sf.
Enjoy!
Roger