通过Quicklisp安装Hunchentoot时遇libcrypto加载及ELF类错误求助
解决Hunchentoot加载libcrypto库的架构不匹配问题
问题根源
wrong ELF class: ELFCLASS64错误说明你的Common Lisp(CL)实现是32位版本,但你尝试加载的libcrypto.so.1.1是64位库,二者架构不兼容。
解决步骤
1. 确认CL实现的架构
在CL REPL中执行以下命令:
(machine-type) (machine-version)
- 输出
X86-64表示64位CL,I386表示32位CL。
2. 方案一:切换到64位CL实现(推荐)
以SBCL为例,Ubuntu 20.04默认提供64位版本,直接安装:
sudo apt install sbcl
重新启动CL后,再次执行:
(ql:quickload :hunchentoot)
3. 方案二:安装32位libcrypto库(仅适用于坚持用32位CL的情况)
- 启用32位系统架构:
sudo dpkg --add-architecture i386
- 更新软件源:
sudo apt update
- 安装32位版libcrypto1.1:
sudo apt install libcrypto1.1:i386
完成后重新尝试加载Hunchentoot或手动调用cffi::load-foreign-library。
内容的提问来源于stack exchange,提问作者endvvell
相关产品推荐
相关产品推荐

