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

enable internal lerc for gdal build #100

Closed
wants to merge 4 commits into from

Conversation

AndrewAnnex
Copy link
Contributor

possible fix for #70 and #94, although could be convinced to not use lerc internal to gdal (untested). I don't build gdal by hand too often (perhaps once a long time ago) so not sure if it's really this easy or not

@AndrewAnnex
Copy link
Contributor Author

huh that seemed to work... @vincentsarago @sgillies is there any concern using GDAL's internal LERC vs building it conventionally?

@sgillies
Copy link
Member

sgillies commented Feb 2, 2023

@AndrewAnnex this doesn't quite work. GDAL is configured to use the external, system libtiff, so that it can be shared with PROJ (which also uses libtiff now to read grid shift data). So that build directive comes too late.

BTW, I didn't realize actions were open to first-time contributors, so I've changed the settings. Builds take a long time and we need to keep the queue short. Our current workflow can't support multiple people making builds at the same time.

@AndrewAnnex
Copy link
Contributor Author

AndrewAnnex commented Feb 2, 2023

@sgillies apologies for the build resources used, okay so if I understand it all correctly I'd add a build_lerc step to config.sh and have that run inside build_tiff (somewhere in lines 154-158)?

@AndrewAnnex
Copy link
Contributor Author

@sgillies looks like a similar config is needed for cirrus-ci, I killed those jobs just in case. I've updated the build script to build lerc from source but I am confused about the comment about libtiff as I can see libtiff being compiled within this project. Are you saying that ultimately that the system level libtiff shared library must be compiled with lerc?

@vincentsarago
Copy link
Member

I didn't realize actions were open to first-time contributors

I'm the one who approved the run, sorry.

@sgillies
Copy link
Member

sgillies commented Feb 3, 2023

No worries @AndrewAnnex, @vincentsarago ! I'm just at a loss at how to enable PRs that add features and drivers, but that don't run the entire platform matrix/matrices while we're debugging. If you have any ideas, lemme know!

@AndrewAnnex
Copy link
Contributor Author

@sgillies looks like you can do an auto-cancellation based on some environment variables they provide: https://cirrus-ci.org/guide/writing-tasks/#environment-variables

CIRRUS_USER_COLLABORATOR and CIRRUS_REPO_OWNER look like promising ways to filter out builds

@AndrewAnnex
Copy link
Contributor Author

@sgillies just wanted to check about this pr and if you've had a chance to update the cirrus ci filters. I haven't looked into the github actions to see what else is being run on your infrastructure but we should be able to create a separate job just for contributor pull requests.

function build_tiff {
if [ -e tiff-stamp ]; then return; fi
build_lerc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@sgillies sgillies Feb 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vincentsarago yes, something like that. And of course, build_lerc would need to be written. I actually looked into this over a year ago, found that Lerc wasn't packaged properly, and punted.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sgillies I added build_lerc (lines 152-167), looks like LERC fixed their issues with their packaging since then so I think it should be fine

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay added those two additional lines @vincentsarago, let me know how that looks. Also should I just download the tar gz to figure out what configuration options libtiff has?

@sgillies
Copy link
Member

@AndrewAnnex yes, I'm going to do something about it later this week.

@AndrewAnnex
Copy link
Contributor Author

okay @sgillies sounds good, hopefully just aborting the runs in cirrus-ci is enough for now, if not sorry for the two additional runs!

@sgillies
Copy link
Member

sgillies commented Mar 9, 2023

This OSGeo/gdal#7306 is interesting. I'm learning a bunch.

@AndrewAnnex
Copy link
Contributor Author

@sgillies lost track of this pr, have you had a chance yet to adjust the permissions on github/cirrus actions?

@sgillies
Copy link
Member

@AndrewAnnex I haven't made any progress on opening this up to PRs, which makes me unhappy 😞 But I do like what I see here and will try merging it into the branch I'm building the 1.3.7 wheels on.

@sgillies sgillies mentioned this pull request May 22, 2023
@AndrewAnnex
Copy link
Contributor Author

AndrewAnnex commented May 23, 2023

@sgillies guess this pr can be closed then? idk if there is a contributor list to add me to but I'd appreciate that. I see my name on the list, nvm!

@sgillies
Copy link
Member

sgillies commented May 23, 2023

@AndrewAnnex I try to update the credits file for every .x release, and you'll be in there! Thanks for moving this ahead.

@sgillies sgillies closed this May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants