-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolve MacOS dylib loading issues for gdal-warp-bindings #99
Conversation
Remaining TODOs:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In comments I covered 1. the state of the docker image naming conventions that are established right now in the repo and what should be changed in CircleCI to make it happy later! Hope it would help you :D
-
The release is done through the CircleCI (the detailed explanation can be found here CI / Auto Publish #87); but basically you'd need to run
git tag -a v1.1.1 -m "v1.1.1" && git push --tags
and after that to check jars manually on Sonatype using company credentials and if everything is fine do a manual release. (this is a manual process just for sainity now) -
Yes, I agree that we need to document GDAL compatible versions description and to mention explicitly that these bindings would use
/usr/local/lib
by default as a place to search for dylibs. For the context and for other readers: PDAL also has a default rpath hardcoded to/usr/local/lib
-
How do you feel about putting the upgrade up to GDAL 3.2.0 into a separate issue here?
Looks good to me in general and fixes the issue!
Opened #100
Do you have a preference for where to put that information? Add it to this project's README? Also add it to GeoTrellis documentation somewhere? Release stuff noted, I'll work on that in a bit, I have a request out to @geotrellis/operations to see if we can't get org-wide credentials for this container so we don't have to publish it to our personal repos. |
I think README.md; to have section similar to https://github.com/geotrellis/gdal-warp-bindings#macintosh |
@CloudNiner I published |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this solves it, then 👍
@pomadchin updated container name, build settings, and there's a working jar published to Docs update coming soon. |
Awesome, exciting work guys! Thanks for CC'ing me! |
@pomadchin updated with gt quay image and some docs + changelog. Should be ready to go pending final review. Will create a tag and publish after merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good to me; thanks Andrew!
One minor issue - a broken MD table and probably we need to add OS into this table.
After that we're good to squash and merge!
Docs are fixed and build is green. Merging! |
Overview
We were compiling macos gdal-warp-bindings with homebrew gdal leading to the errors in #98 and #73. This PR fixes those issues with a two-pronged approach:
libgdal.dylib
to@rpath/libgdal.dylib
, removing theHOMEBREW_PREFIX
.-rpath=/usr/local/lib
so that a common dir is in the rpath of our libgdalwarp_bindings.dylib and the linker can find the gdal dylib at a common locationThis is still a bit of a mess. We currently build gdal 3.1.2 but
brew install gdal
is currently 3.2.0, which switches tolibgdal.28.dylib
(3.2) fromlibgdal.27.dylib
(3.1.2). So, in the simplest case, if you install gdal with brew, and don't already have 3.1.2 installed, you'll still get a linker error. HOWEVER... now you can install gdal into a conda env and symlink the appropriate dylib to /usr/local/lib and these bindings will work:Unfortunately this doesn't address #91, although at this point I'm not sure we need to since we can symlink the appropriate gdal dylib installed anywhere to /usr/local/lib and it will work.
Demo
Here's a zipped sbt project you can download and run to verify that this build fixes the issue. Ensure you have a
libgdal.27.dylib
in/usr/local/lib
, either because you have a brew install of gdal 3.1.2 there, or you installed it via conda and manually linked it there, as described above:gdal-warp-bindings-macos-test.zip
Closes #98
Closes #73
cc @metasim