【发布时间】:2021-08-01 10:30:13
【问题描述】:
情况
我正在我的 Ubuntu 20.04 机器上设置 AVS SDK。我正在遵循本指南: https://developer.amazon.com/en-US/docs/alexa/avs-device-sdk/ubuntu.html
我按顺序执行了每个命令,一切都很顺利,直到我开始为 SDK 示例应用构建依赖项。
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
我得到了错误:
curl: /usr/local/lib/libcurl.so.4: no version information available (required by curl)
从上面的陈述中我发现我在同一个系统上安装了两个版本的 CURL,这导致了这个错误,一个是我之前安装的:
sudo apt install curl
我在安装 SDK 依赖项时安装的另一个(指南中使用的版本截至 2021 年 6 月 20 日已过时):这些是命令。
wget https://curl.haxx.se/download/curl-7.63.0.tar.gz
tar xzf curl-7.63.0.tar.gz
cd curl-7.63.0
./configure --with-nghttp2 --prefix=/usr/local --with-ssl
make && sudo make install
sudo ldconfig
采取的措施
首先我从我的设备上卸载了两个版本的 curl。
一对一
sudo apt remove curl
sudo apt purge curl
手动进入 curl 的安装文件夹并运行
sudo make uninstall
然后我从 curl 安装了最新版本: 重复上述步骤,但替换了 URL。
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
在采取了所有步骤之后,现在我收到了这个错误:
Could NOT find CURL: Found unsuitable version "7.63.0", but required is at least "7.67.0" (found /usr/local/lib/libcurl.so)
完整的错误声明:
cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
Creating the build directory for the AlexaClientSDK with build type: DEBUG
CMake Warning at cmakeBuild/cmake/BuildOptions.cmake:44 (message):
WARNING! THIS DEVICE HAS BEEN COMPILED IN DEBUG MODE.
RELEASING A PRODUCTION DEVICE IN DEBUG MODE MAY IMPACT DEVICE PERFORMANCE,
DOES NOT COMPLY WITH THE AVS SECURITY REQUIREMENTS, AND COULD RESULT IN
SUSPENSION OR TERMINATION OF THE ALEXA SERVICE ON YOUR DEVICES.
Call Stack (most recent call first):
cmakeBuild/BuildDefaults.cmake:21 (include)
cmakeBuild/BuildDefaults.cmake:29 (include_once)
CMakeLists.txt:13 (include)
-- UseDefaultIfNotSet: ACSDKALEXACOMMUNICATIONS_LIB set to acsdkLibcurlAlexaCommunications.
-- UseDefaultIfNotSet: ACSDKAUTHORIZATIONDELEGATE_LIB set to acsdkCBLAuthorizationDelegate.
-- UseDefaultIfNotSet: ACSDKDEVICESETTINGSMANAGER_LIB set to acsdkDefaultDeviceSettingsManager.
-- UseDefaultIfNotSet: ACSDKHTTPCONTENTFETCHER_LIB set to acsdkLibcurlHTTPContentFetcher.
-- UseDefaultIfNotSet: ACSDKINTERNETCONNECTIONMONITOR_LIB set to acsdkDefaultInternetConnectionMonitor.
-- UseDefaultIfNotSet: ACSDKMETRICRECORDER_LIB set to acsdkNullMetricRecorder.
-- UseDefaultIfNotSet: ACSDKSYSTEMTIMEZONE_LIB set to acsdkNullSystemTimeZone.
-- UseDefaultIfNotSet: ACSDKAPPLICATIONAUDIOPIPELINEFACTORY_LIB set to acsdkGstreamerApplicationAudioPipelineFactory.
-- UseDefaultIfNotSet: ACSDKSPEECHENCODER_LIB set to acsdkNullSpeechEncoder.
No keyword detector type specified, skipping build of keyword detector.
Building with Gstreamer enabled
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find CURL: Found unsuitable version "7.63.0", but required is at
least "7.67.0" (found /usr/local/lib/libcurl.so)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:391 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindCURL.cmake:143 (find_package_handle_standard_args)
cmakeBuild/cmake/Curl.cmake:11 (find_package)
cmakeBuild/BuildDefaults.cmake:21 (include)
cmakeBuild/BuildDefaults.cmake:56 (include_once)
CMakeLists.txt:13 (include)
-- Configuring incomplete, errors occurred!
我无法弄清楚为什么会发生这种情况。我在执行卸载时是否遗漏了什么,我是否必须更新/usr/local/lib下的符号链接
【问题讨论】:
标签: curl cmake ubuntu-20.04 alexa-voice-service