mesonbuild / mesonbuild/wrapdb

OpenSSL tries to use GNU specific extensions and fails to build with default `-std=c99`

Open
#2,789 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.