-
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
GDAL 3.7.2 build #120
GDAL 3.7.2 build #120
Conversation
BOOST_AUTO_TEST_CASE(destroy) | ||
{ | ||
GDALDestroyDriverManager(); | ||
} |
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.
We were lucky or that's the GDAL behavior change; without it tests fail.
Added it in all cases we wan't to undo GDALAllRegister()
calls.
# failure example
# cd .github/workflows; docker compose -f ../docker-compose.yml up build-linux-amd64
github-build-linux-amd64-1 | corrupted size vs. prev_size
github-build-linux-amd64-1 | Aborted
github-build-linux-amd64-1 | make[1]: *** [Makefile:16: tests] Error 134
github-build-linux-amd64-1 | make[1]: Leaving directory '/workdir/src/unit_tests'
github-build-linux-amd64-1 | make: *** [Makefile:39: tests] Error 2
github-build-linux-amd64-1 | make: Leaving directory '/workdir/src'
@@ -55,7 +55,7 @@ BOOST_AUTO_TEST_CASE(get_block_size) | |||
|
|||
ld.get_block_size(locked_dataset::WARPED, 1, &width, &height); | |||
BOOST_TEST(width == 512); | |||
BOOST_TEST(height == 128); | |||
BOOST_TEST(height == 512); |
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.
So weird it's been 128 before.
For the context: for "-co", "BLOCKXSIZE=512", "-co", "BLOCKYSIZE=512"
input warp params I would expect both width and height to be 512.
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.
I also saw this error, but I didn't have time to find the source. Thanks.
src/unit_tests/dataset_tests.cpp
Outdated
auto expected = std::vector<double>{ | ||
-8915910.5905594081, 33.88424960091178, 0, | ||
5174836.3438357478, 0, -33.88424960091178}; // Manually verified | ||
-8915910.5905594081, 33.88424960091165, 0, | ||
5174836.343835746, 0, -33.88424960091165}; // Manually verified |
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.
Angry doubles.
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.
Real-valued comparisons should prefer to use a test of the form abs(target - actual) < EPSILON
for some appropriately set EPSILON
.
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.
yea, I wanted to minimize changes; but agree; reverted these numbers change and added a better comparison: f1a03c9
b653077
to
1b68890
Compare
1b68890
to
dc2ea3c
Compare
15183a5
to
544c625
Compare
|
||
services: | ||
# cd .github/workflows; docker compose -f ../docker-compose.yml up build-linux-amd64 | ||
build-linux-amd64: |
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.
Such a winner for the local development; + mb in a separate PR this can be extended to work with GitHub Actions; (just a retranslation of the CircleCI yaml file into the docker-compose shape)
The pattern is similar to what we've done in the GeoTrellis repo; the same docker-compose used for the local development and for the CI purposes; super convenient!
Docker/Dockerfile.environment-amd64
Outdated
rm -f libgdal-3.1.2-hd7bf8dc_4.tar.bz2 | ||
wget "https://anaconda.org/conda-forge/libgdal/3.7.2/download/osx-64/libgdal-3.7.2-h85f6614_6.conda" && \ | ||
mkdir -p gdal/3.7.2 && \ | ||
cph extract libgdal-3.7.2-h85f6614_6.conda --dest gdal/3.7.2 && \ |
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.
conda doesn't ship tar.bz2
archives anymore but uses it's own tar.bz2
-like packaging => so I had to install conda to extract it 🤦
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.
Maybe we could turn these version strings into buildarg
s
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.
I went mb a bit too far :D d0f5828#diff-93c714fe4d67d93f9c74b0413dc5d5b7975e04602a2ce531ac5f5c4034e5f3fcR4-R9
Two visible cons: MacOS and Windows 'GDAL versions' are not really versions, but achive names. Still not a too bad result it looks like. For linux builds its a really nice parametrization.
🙏 ❤️ Thanks, @pomadchin , I'll take a look at this in the upcoming week. Please ping me if I haven't done so by Wednesday or Thursday . |
fd129d8
to
3f2678e
Compare
3f2678e
to
f1a03c9
Compare
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.
LPGTM 👍
Docker/Dockerfile.environment-amd64
Outdated
rm -f libgdal-3.1.2-hd7bf8dc_4.tar.bz2 | ||
wget "https://anaconda.org/conda-forge/libgdal/3.7.2/download/osx-64/libgdal-3.7.2-h85f6614_6.conda" && \ | ||
mkdir -p gdal/3.7.2 && \ | ||
cph extract libgdal-3.7.2-h85f6614_6.conda --dest gdal/3.7.2 && \ |
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.
Maybe we could turn these version strings into buildarg
s
Merging this one on Monday; LMK if there are any concerns / further improvements to do before I click the button! |
I had a bit of time to hack on the GDAL update.
This PR updates builds to be against GDAL 3.7.2. It also contains some minor test adjustments.
I think we can still use CircleCI for releases.
It's very much WIP; feel free to rush in and introduce more changes / improvements. Not tested on Mac and Windows.
Closes #100