首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac M1上通过asdf-vm安装SBCL 2.2.7会导致“zstd.h”bug - save.c:45:11:致命错误:“zstd.h”文件找不到

在Mac M1上通过asdf-vm安装SBCL 2.2.7会导致“zstd.h”bug - save.c:45:11:致命错误:“zstd.h”文件找不到
EN

Stack Overflow用户
提问于 2022-08-12 22:10:31
回答 1查看 137关注 0票数 0

目前,我正试图通过ASDF-VM在M1 Mac上安装SBCL,并且在构建2.2.7时遇到了以下错误:

代码语言:javascript
复制
beginning GENESIS, creating headers in "src/runtime/genesis"

real    0m23.834s
user    0m21.823s
sys 0m1.858s
//entering make-target-1.sh
//building runtime system and symbol table file
rm -f *.[do] sbcl ldb unit-tests sbcl.h core *.tmp libsbcl.a shrinkwrap-sbcl* sbcl.mk
echo '#include "genesis/config.h"' >sbcl.h
echo '#include "genesis/constants.h"' >>sbcl.h
save.c:45:11: fatal error: 'zstd.h' file not found
# include <zstd.h>
          ^~~~~~~~
1 error generated.
coreparse.c:48:11: fatal error: 'zstd.h' file not found
# include <zstd.h>
          ^~~~~~~~
1 error generated.
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o alloc.o alloc.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o backtrace.o backtrace.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o breakpoint.o breakpoint.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o coalesce.o coalesce.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o coreparse.o coreparse.c
coreparse.c:48:11: fatal error: 'zstd.h' file not found
# include <zstd.h>
          ^~~~~~~~
1 error generated.
make: *** [coreparse.o] Error 1
Installed SBCL
/Users/exysle/.asdf/plugins/sbcl/bin/install: line 190: /Users/exysle/.asdf/installs/sbcl/2.2.7/bin/sbcl: No such file or directory

看起来这个bug在2.2.7和2.2.6中很明显,但它似乎安装得很完美。

EN

回答 1

Stack Overflow用户

发布于 2022-08-13 08:47:56

这是因为SBCL2.2.6和更高版本使用zstd进行核心压缩,而且可能没有随macOS一起提供(当然,我无法在我的机器上找到它)。

我不理解asdf-vm,但是它看起来像是SBCL的插件是这里,它在其先决条件中显式列出zstd是很重要的。

只有在使用--fancy选项进行构建时才会遇到这个问题:除非您使用它,否则构建将不包括核心压缩内容。如果我用./make/sh --fancy构建,那么它就会以这种方式失败。

诊断这种情况的一种方法是运行./make-config.sh,然后查看local-target-features.lisp-expr中的内容。它不应该包含对:sb-core-compression的任何提及:如果是这样的话,您将需要zstd

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73340204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档