You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

64位RISC-V架构Fedora运行riscyforth缺失依赖库问题求助

问题根本原因

你遇到的./riscyforth: No such file or directory报错并非程序文件本身不存在,而是ELF程序指定的动态链接器(程序解释器)路径和Fedora RISC-V系统的实际路径不匹配,和32位库完全无关:

  • 你在Debian系统上编译的程序默认请求的动态链接器路径为/lib/ld.so.1,这是Debian系列RISC-V 64位系统的glibc动态链接器默认路径
  • Fedora RISC-V 64位系统的glibc动态链接器默认路径为/lib/ld-linux-riscv64-lp64d.so.1,系统找不到你程序请求的链接器文件,才会抛出找不到文件的报错

解决方案

你可以任选以下一种方案解决问题:

方案1:直接做路径兼容(无需修改程序/重新编译)

执行以下命令给动态链接器创建软链接即可:

ln -s /lib/ld-linux-riscv64-lp64d.so.1 /lib/ld.so.1

执行完成后就可以正常运行./riscyforth。

方案2:修改Makefile适配Fedora(编译一次就可以原生运行)

在Makefile的编译参数中添加动态链接器指定参数即可,如果你用gcc作为汇编前端,添加参数:
-Wl,--dynamic-linker=/lib/ld-linux-riscv64-lp64d.so.1
用该参数编译出的二进制可以直接在Fedora RISC-V 64位系统上运行。

方案3:静态编译(跨发行版通用)

如果你的程序没有强制动态链接的依赖,可以直接在Makefile的编译参数中添加-static参数,编译出的静态二进制不依赖系统动态链接器,在所有RISC-V 64位Linux发行版上都可以直接运行。

内容的提问来源于stack exchange,提问作者adrianmcmenamin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:33:00