Build fails to pass `-std=c99` flag: `blosc2.h: error: ‘for’ loop initial declaration used outside C99 mode`
- Dominant language
- Python
- Stars
- 211
- Forks
- 58
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 6
Description
`blosc2` itself sets `-std=gnu99` in its own CMakeLists, however those are not used by `py-blosc2` when external `blosc2` is linked against. So the flag is not passed, but it is required:
```
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_python_py-blosc2/py311-blosc2/work/blosc2-2.5.1/_skbuild/macosx-10.6-ppc-3.11/cmake-build/blosc2/blosc2_ext.c:1253:
/opt/local/include/blosc2.h: In function ‘blosc2_meta_exists’:
/opt/local/include/blosc2.h:2162: error: ‘for’ loop initial declaration used outside C99 mode
```
Contributor guide
Research direction
Inspect the py-blosc2 CMake configuration used when an external blosc2 is linked, then reproduce the failure in blosc2_ext.c with the external blosc2.h. Done when that configuration supplies the required C99 mode and the external-blosc2 build completes without the reported error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cmake, python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100