Build fails to pass `-std=c99` flag: `blosc2.h: error: ‘for’ loop initial declaration used outside C99 mode`
未关闭
- 主要语言
- Python
- 星标
- 211
- 派生
- 58
- 平均合并
- 1 天 17 小时
- 30 天内合并 PR
- 6
描述
`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
```
贡献指南
调研方向
检查在链接外部 blosc2 时使用的 py-blosc2 CMake 配置,然后使用外部 blosc2.h 在 blosc2_ext.c 中重现该失败。完成标准是该配置提供所需的 C99 模式,并且 external-blosc2 构建在没有报告的错误的情况下完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- c, cmake, python
- 领域
- build-system
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100