gmp 单元测试在 Ventura Mac m1 上失败

ody*_*asg 5 gmp apple-m1 macos-ventura

我在 M1 Pro 芯片组上运行 Mac OS Ventura (13.0)。

我成功编译了 GMP 版本 6.2.1,但大多数单元测试都失败了。

要么与

分段错误:11

或与

中止陷阱:6

Version:           GNU MP 6.2.1
Host type:         aarch64-apple-darwin22.1.0
ABI:               64
Install prefix:    /usr/local
Compiler:          gcc
Static libraries:  yes
Shared libraries:  yes

============================================================================
Testsuite summary for GNU MP 6.2.1
============================================================================
# TOTAL: 50
# PASS:  14
# SKIP:  0
# XFAIL: 0
# FAIL:  36
# XPASS: 0
# ERROR: 0
============
Run Code Online (Sandbox Code Playgroud)

例子:

../../test-driver: line 107: 36102 Segmentation fault: 11  "$@" > $log_file 2>&1
FAIL: t-toom22
../../test-driver: line 107: 36121 Abort trap: 6           "$@" > $log_file 2>&1
Run Code Online (Sandbox Code Playgroud)

pd9*_*d95 1

似乎构建和测试仅在 macOS Ventura 上被破坏。幸运的是,根据我的测试,无需转到“不稳定的主分支”或快照,但您可以将特定补丁(来自 gmplib!)应用到官方 GMP 6.2.1 源代码树。

https://gmplib.org/repo/gmp/raw-rev/5f32dbc41afc

Homebrew 也使用相同的补丁在 macOS Ventura 上构建 gmp。参见https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gmp.rb