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

自定义路径部署whisper.cpp后CMake运行时找不到libwhisper.so.1

解决自定义路径下libwhisper.so.1无法加载的问题

方法1:确保whisper.cpp安装时生成正确的路径配置

编译安装whisper.cpp到自定义路径时,明确指定安装前缀并开启共享库编译:

cd whisper.cpp
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/home/me/MyPrj/src/whisperLib -DBUILD_SHARED_LIBS=ON
make && make install

完成后,whisper的CMake配置文件会存放在/home/me/MyPrj/src/whisperLib/lib/cmake/Whisper目录下,确保后续项目能正确识别路径。

方法2:在项目CMakeLists.txt中正确配置导入与RPATH

避免手动设置RPATH,用CMake的find_package自动导入库,并启用RPATH相关选项:

# 指定whisper配置文件的位置
set(Whisper_DIR "/home/me/MyPrj/src/whisperLib/lib/cmake/Whisper")
find_package(Whisper REQUIRED)

# 启用RPATH,确保运行时能找到库路径
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)

# 链接目标程序与whisper库
add_executable(your_app your_app.cpp)
target_link_libraries(your_app PRIVATE Whisper::whisper)

重新编译项目:

cd your_project
rm -rf build && mkdir build && cd build
cmake .. && make && make install

编译后的可执行文件会自动包含正确的RPATH,运行时可直接找到自定义路径下的库。

方法3:直接添加自定义库路径到系统搜索列表

如果CMake配置仍未生效,可通过系统层面让库路径被识别:

  • 临时生效(当前终端会话):
export LD_LIBRARY_PATH=/home/me/MyPrj/src/whisperLib/lib:$LD_LIBRARY_PATH

执行后直接运行程序即可。

  • 永久生效(当前用户):
    编辑~/.bashrc或~/.profile文件,添加:
export LD_LIBRARY_PATH=/home/me/MyPrj/src/whisperLib/lib:$LD_LIBRARY_PATH

保存后执行source ~/.bashrc使配置生效。

  • 系统级永久生效:
    创建文件/etc/ld.so.conf.d/whisper.conf,写入内容:
/home/me/MyPrj/src/whisperLib/lib

执行以下命令更新系统库缓存:

sudo ldconfig

方法4:排查ldd无引用的异常问题

若ldd输出未显示libwhisper相关条目,可通过以下命令检查:

  1. 查看可执行文件的RPATH设置:
readelf -d your_app | grep RPATH

确认是否包含自定义库路径。
2. 检查库文件本身的存在性与依赖:

ldd /home/me/MyPrj/src/whisperLib/lib/libwhisper.so.1

确保库文件存在且自身依赖能正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:14:59