mesonbuild / mesonbuild/wrapdb
OpenSSL tries to use GNU specific extensions and fails to build with default `-std=c99`
- Dominant language
- Meson
- Stars
- 118
- Forks
- 298
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 24
Description
The OpenSSL wrap fails to build with the android ndk with `error: call to undeclared function 'asm'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]` for me.
I don't quite understand how this happens since I'd think that preprocessor macros such as `# if defined(__GNUC__) && __GNUC__>=2` (`openssl-3.0.8/include/crypto/modes.h:42`) would guard against this.
Adding `c_std=gnu99` to the default options seems to work for me.
If someone wants to investigate this further and needs a minimal reproducible example let me know , I'll set it up.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the Android NDK failure with the OpenSSL wrap and default c99 settings, then inspect openssl-3.0.8/include/crypto/modes.h around line 42 and the wrap's compiler options. Trace why the GNU-specific asm path is selected despite the preprocessor guard. Done means the wrap builds successfully with the default standard settings without relying on GNU-only extensions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 48/100