-
Notifications
You must be signed in to change notification settings - Fork 27
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
Update FindAEC and add to CI #145
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #145 +/- ##
===========================================
- Coverage 63.75% 63.75% -0.01%
===========================================
Files 1066 1066
Lines 55345 55351 +6
Branches 4085 4086 +1
===========================================
+ Hits 35286 35289 +3
- Misses 20059 20062 +3 ☔ View full report in Codecov by Sentry. |
It might also be sensible to put findAEC.cmake in ecbuild, as there are now several packages with their own implementation |
I agree that if this is goes into multiple packages then ecbuild could be a good common place. |
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.
It all looks good to me!
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 good to me too!
If you are happy, please go ahead and merge :) |
Three changes:
dlerror
on a faileddlopen
call.eccodes
' findAEC.cmake. This searches more paths, and also looks for libaec.h rather than libsz.hContext:
Downstream dependency
gribjump
generates a plugin that depends on libaec/1.1.1 which is not backwards compatible. However, if eckit is linked against the system AEC (which is generally quite old), this old AEC will be loaded before the AEC gribjump is linked against. As such, whenever eckit loads the gribjump plugin at runtime, there is a missing symbol error.This PR updates the CI to build AEC from source, and updates the findAEC search path to find it. We also now throw an error in
loadPlugin
ifloadDynamicLibrary
returns nullptr. Without this, an incorrect error message is thrown instead (plugin object not registered).