在基于 mil 的 Linux 发行版 AlpineLinux 上,numpy 的一些测试失败。 附上日志。
日志文件
有两种类型的问题 - 一种是针对各种错过的上溢/下溢异常,第二种是针对 musl 三角函数的错误结果。
第一个可以通过在 musl 构建中包含fenv.h
标头来修复,AFAIU 这可以在numpy/numpy/core/src/npymath/ieee754.c.src
和numpy/core/include/numpy/ufuncobject.h
通过将__GLIBC__
替换__GNUC__
第二组可以通过禁用numpy/numpy/core/src/private/npy_config.h
的三角函数来修复,不仅对于 glibc,而且对于 musl。 这里的一个问题是 musl 没有提供任何像__GLIBC__
这样的宏来检测它。
那么问题来了,numpy 对这样的补丁感兴趣吗? 您能否分享您的意见,什么是实施它的最佳方法?
否则补丁可以在AlpineLinux的相应包中实现
是的,对于 alpine 用户来说仍然没有 numpy(它作为 docker 基地越来越受欢迎)。 它让我们的 Python 用户的生活变得悲惨。 很想看补丁。
AlpineLinux 使用什么库? 如果相同的触发函数失败,它一定与 glibc 非常接近。
好的,这是musl。 真的没有宏来识别musl的存在吗? 一个问题是其他 libc 实现与 gnuc 编译器相结合,所以我们不能只使用__GNUC__
。
另一种尝试拥有所有错误 libm 版本的显式列表的情况
咬我们 :-/ 如果有人感觉特别有灵感,
综合解决方案是解决#7173。
2016 年 3 月 18 日下午 6:13,“Charles Harris” [email protected]写道:
好的,这是musl。 真的没有宏来识别musl的存在吗?
一个问题是与 gnuc 编译器结合的其他 libc 实现,
所以我们不能只使用GNUC 。—
您收到此消息是因为您订阅了此线程。
直接回复此邮件或在 GitHub 上查看
https://github.com/numpy/numpy/issues/7128#issuecomment -198597654
重复#12095,关闭这个因为另一个有更多信息
最有用的评论
是的,对于 alpine 用户来说仍然没有 numpy(它作为 docker 基地越来越受欢迎)。 它让我们的 Python 用户的生活变得悲惨。 很想看补丁。