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

编译Alexa语音服务(AVS)SDK时cmake报错无法找到CURL

解决步骤

1. 彻底清理旧版本curl残留

手动编译安装的curl执行make uninstall通常无法完全删除所有文件,旧版本库文件残留会导致版本识别错误,执行以下命令清理:

# 删除所有旧curl相关库文件
sudo rm -rf /usr/local/lib/libcurl*
# 删除curl头文件
sudo rm -rf /usr/local/include/curl
# 删除curl二进制文件
sudo rm -rf /usr/local/bin/curl
# 更新动态链接库缓存
sudo ldconfig

2. 重新安装目标版本curl

重新执行7.77.0版本curl的编译安装流程:

wget https://curl.se/download/curl-7.77.0.tar.gz
tar xzf curl-7.77.0.tar.gz
cd curl-7.77.0
./configure --with-nghttp2 --prefix=/usr/local --with-ssl
make && sudo make install
sudo ldconfig

安装完成后验证版本是否正确,执行curl --version,确认输出的版本号为7.77.0。

3. 清除cmake缓存

之前执行cmake时生成的缓存会保留旧版本curl的检测结果,必须清空原有构建目录的缓存:

# 进入你的AVS SDK构建目录,例如
cd $HOME/my_alexa_project/build
# 删除所有缓存文件
rm -rf *

4. 重新执行cmake命令(可选:显式指定curl路径)

如果默认检测仍然识别到旧版本,可以在cmake参数中显式指定curl的安装路径:

cmake $HOME/my_alexa_project/source/avs-device-sdk \
 -DGSTREAMER_MEDIA_PLAYER=ON \
 -DPORTAUDIO=ON \
 -DPORTAUDIO_LIB_PATH=$HOME/my_alexa_project/third-party/portaudio/lib/.libs/libportaudio.so \
 -DPORTAUDIO_INCLUDE_DIR=$HOME/my_alexa_project/third-party/portaudio/include \
 -DCMAKE_BUILD_TYPE=DEBUG \
 -DCURL_ROOT=/usr/local \
 -DCURL_INCLUDE_DIR=/usr/local/include \
 -DCURL_LIBRARY=/usr/local/lib/libcurl.so

问题原因说明

  • 旧版本curl编译安装的库文件没有被完全卸载,/usr/local/lib下残留的libcurl.so.4软链接仍然指向7.63.0版本
  • cmake的缓存机制会复用第一次检测到的curl版本信息,不会自动更新为新安装的版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 11:54:03