Skip to content
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

Figure out elegant packaging of the addon on OSX #42

Open
kb173 opened this issue Jan 25, 2021 · 6 comments
Open

Figure out elegant packaging of the addon on OSX #42

kb173 opened this issue Jan 25, 2021 · 6 comments
Labels
build-release Related to the build and release pipeline. documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed macos Specific to Mac OS needs testing Likely fixed, but needs to be confirmed

Comments

@kb173
Copy link
Member

kb173 commented Jan 25, 2021

On Linux, we just copied over the libgdal.so into demo/addons/geodot/x11/ (as described in the README). On Windows, we can probably do something similar, but we need to figure out which DLLs are needed. Also we should document any other dependencies.

Same for OSX - as described by @clemens-tolboom, we might be able to use a copy of /usr/local/Cellar/gdal/3.2.1/lib/libgdal.dylib.

Required for #36.

@kb173 kb173 added documentation Improvements or additions to documentation enhancement New feature or request labels Jan 25, 2021
@kb173 kb173 mentioned this issue Jan 25, 2021
@clemens-tolboom
Copy link
Contributor

The MacOS homebrew brew install gdal has lots of dependencies installed too. See brew info gdal and #33 (comment)

@clemens-tolboom
Copy link
Contributor

Not sure what my last comment tried to tell : I guess same goes for linux ... can we deploy to a clean machine by just using libgdal.*

I can test for Mac when that works through PR #33

@kb173 kb173 added the build-release Related to the build and release pipeline. label Jan 28, 2021
@kb173
Copy link
Member Author

kb173 commented Jan 29, 2021

Regarding this and #33 (comment): On Windows, there's a specific order in which libraries are searched for - maybe something similar exists on Mac, and the one in /usr/local/Cellar/gdal/3.2.1 has a higher priority than the one you created locally? Or maybe it is because the ones in usr/local/Cellar/gdal/3.2.1 are what it's compiled against (due to that being the osgeo_path). So I guess that'd mean we have to copy the files first, and then compile against those.

@kb173
Copy link
Member Author

kb173 commented Feb 11, 2021

We got a working and packaged Windows build, generated on Linux (relevant for #41) 🥳

I will push everything (in the form of GitHub Actions and README docs) soon, but here's the general approach for future reference:
Building is done on a Docker container running Fedora. That container first installs mingw64 and its GDAL build. The result of the build is copied out of the container, along with all previously installed mingw DLLs (as those are GDAL and its dependencies).

@kb173
Copy link
Member Author

kb173 commented Feb 16, 2021

Windows packaging is done and #60 also publishes the packaged artifact! Same for Linux. Only Mac OS left to do.

@kb173 kb173 removed the windows Specific to Windows label Feb 16, 2021
@kb173 kb173 changed the title Figure out elegant packaging of the addon on Windows and OSX Figure out elegant packaging of the addon on OSX Feb 16, 2021
@kb173 kb173 added help wanted Extra attention is needed needs testing Likely fixed, but needs to be confirmed labels Jan 18, 2023
@kb173
Copy link
Member Author

kb173 commented Jan 18, 2023

I found dylibbundler which seems like it does what we need on Mac. I integrated it into our build action and successfully created a Mac build: https://github.com/boku-ilen/geodot-plugin/actions/runs/3943687695

Would be great if anyone could test!

btw: I also tried creating a build for the new ARM Macs, but that's currently held back by the lack of a GitHub Action runner with that chip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-release Related to the build and release pipeline. documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed macos Specific to Mac OS needs testing Likely fixed, but needs to be confirmed
Projects
None yet
Development

No branches or pull requests

2 participants