Prevent error with musl libc and GraalVM native image #191
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When compiling a native image for linux with musl libc, the following error was displayed:
'struct termios' has no member named 'c_ispeed'
On musl, it is named
__c_ispeed
Since we don't really need those fields anyway,
we can remove them from the struct definition.
We then need to mark the struct definition as incomplete. The documentation says:
If marked as incomplete, we will not try to determine the size of the struct.
StackValue.get(structType)
is actually a shortcut forStackValue.get(SizeOf.get(structType))
We now simply need to pass the explicit size in bytes.
Fixes #189