redis make -链接器输入文件未找到:No such file or directory

yrwegjxp  于 8个月前  发布在  Redis
关注(0)|答案(1)|浏览(94)

我试图在我的ubuntu 22.04机器上编译redis3.2 sourcecode
我的路径上有最新的gccg++clang二进制文件。

> gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

> g++ --version
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

> clang --version
clang version 16.0.0
Target: x86_64-unknown-linux-gnu
Thread model: posix

当我尝试使用> make MALLOC=libc编译时,在构建lua依赖项时出现以下错误:

cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP  -O2   x86_64 -c -o lapi.o lapi.c
cc: warning: x86_64: linker input file unused because linking not done
cc: error: x86_64: linker input file not found: No such file or directory

据我所知,-c只强制编译,**不允许链接,导致失败。
但我不知道-c标志是如何悄悄进入的,也不知道它的来源。
任何帮助是高度赞赏,谢谢!

bfnvny8b

bfnvny8b1#

我发现了问题。
我的环境中有一个TARGET_ARCH变量设置为x86_64export TARGET_ARCH=x86_64)。
这导致了悬空的x86_64在编译命令中结束,我不知道是怎么回事。
当我取消设置时,make命令成功运行。

相关问题