Troubleshooting Alexa Smart Screen SDK
Having trouble with the Alexa Smart Screen SDK? The following sections show possible resolutions for common issues. The sections cover issues with all platforms, macOS, and Raspberry Pi.
If you run into a problem that's not listed here, create a new issue in our GitHub repo.
All platforms
Issue: Audio configuration problems
Symptoms
Microphone fails to pick up sound. Speaker or headset fails to play sound.
Try this
See the AVS Device SDK Troubleshooting Guide.
Issue: AlexaClientSDKConfig.json
file is empty or points to the wrong directories
Symptoms
The sample app fails to start.
Try this
Make sure that the AlexaClientSDKConfig.json
file exists and that the path to the database files is valid, even if the db
folder is empty. The following example shows an AlexaClientSDKConfig.json
file, where <pathto>
is a placeholder for the path to the ~/sdk_folder/db
directory.
{
"cblAuthDelegate":{
"databaseFilePath":"<pathto>/cblAuthDelegateMMSDK.db"
},
"deviceInfo":{
"deviceSerialNumber":"<serialNumber>",
"clientId":"<clientId>",
"productId":"<productId>"
},
"deviceSettings":{
"databaseFilePath":"<pathto>/deviceSettings.db",
"locales":["en-US","en-GB","de-DE","en-IN","en-CA","ja-JP","en-AU","fr-FR","it-IT","es-ES","es-MX","fr-CA",
"es-US", "hi-IN", "pt-BR"],
"defaultLocale":"en-US",
"localeCombinations":[
["en-CA", "fr-CA"],
["fr-CA", "en-CA"]
],
"defaultTimezone":"America/Vancouver"
},
"miscDatabase":{
"databaseFilePath":"<pathto>/miscDatabase.db"
},
"alertsCapabilityAgent":{
"databaseFilePath":"<pathto>/alerts.db"
},
"settings":{
"databaseFilePath":"<pathto>/settings.db",
"defaultAVSClientSettings":{
"locale":"en-US"
}
},
"certifiedSender":{
"databaseFilePath":"<pathto>/certifiedSender.db"
},
"notifications":{
"databaseFilePath":"<pathto>/notifications.db"
},
"capabilitiesDelegate":{
}
}
Issue: Authentication error when changing products
Symptoms
When you try to run the Alexa Smart Screen SDK sample app on a new device, you see the following error. You have registered the device as a product in the Alexa console.
RequiresShutdown:~RequiresShutdownFailed:reason=notShutdown,name=FocusBridge
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CBLAuthDelegate:receiveTokenResponseFailed:result=UNAUTHORIZED_CLIENT
Try this
-
Navigate to the
~/sdk_folder/db
folder and delete its contents. -
From the new product's
config.json
file, copy the credentials (clientID
andproductID
) into theAlexaClientSDKConfig.json
file. -
Run the sample again.
-
To authorize the new product, enter the code provided on the screen in the web page at amazon.com/us/code. For more details, see Get a Refresh Token in the AVS Device SDK documentation.
macOS
Issue: macOS dynamic link library (dyld
) not loaded in npm install
Symptoms
You see the following output.
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
Referenced from: /usr/local/bin/node
Reason: image not found
/bin/sh: line 1: 91419 Abort trap: 6 npm install
make[2]: *** [modules/GUI/CMakeFiles/GUIClient] Error 134
make[1]: *** [modules/GUI/CMakeFiles/GUIClient.dir/all] Error 2
make: *** [all] Error 2
Try this
brew reinstall node
If brew reinstall node
doesn’t fix the error, uninstall and reinstall the node manually from the node.js
website.
brew uninstall --ignore-dependencies node
-
In your web browser, go to https://nodejs.org/en/download/.
-
Download the LTS version for Mac, and follow the prompts to install
Node.js
. -
Rerun your
cmake
andmake
commands.
Issue: MacOS dynamic link library (dyld
) not loaded error from sample app
Symptoms
When you try to run the Alexa Smart Screen SDK sample app, you see the following output.
dyld: Library not loaded: @rpath/libAVSCommon.dylib
Referenced from: ~/sdk_folder/ss-build/./modules/Alexa/SampleApp/src/SampleApp
Reason: image not found
Abort trap: 6
Try this
- Run the following command.
export DYLD_LIBRARY_PATH=$HOME/sdk_folder/sdk-install/lib:$DYLD_LIBRARY_PATH
Issue: Compatibility issue with websocketpp
0.8.1 and asio
Symptoms
Your Alexa Smart Screen SDK build fails due to the compatibility issue reported in https://github.com/zaphoyd/websocketpp/issues/794.
Try this
- In step 7.1.ii,
git clone
thewebsocketpp
project from https://github.com/zaphoyd/websocketpp/ into your Smart Screen SDKthird-party
directory. - Check out the
develop
branch. - In step 7.5, use the following
cmake
command.cmake -DCMAKE_PREFIX_PATH=$HOME/sdk_folder/sdk-install \ -DWEBSOCKETPP_INCLUDE_DIR=$HOME/sdk_folder/third-party/websocketpp \ -DDISABLE_WEBSOCKET_SSL=ON \ -DGSTREAMER_MEDIA_PLAYER=ON \ -DCMAKE_BUILD_TYPE=DEBUG \ -DPORTAUDIO=ON -DPORTAUDIO_LIB_PATH=$HOME/sdk_folder/third-party/portaudio/lib/.libs/libportaudio.a \ -DPORTAUDIO_INCLUDE_DIR=$HOME/sdk_folder/third-party/portaudio/include/ \ -DAPL_CORE=ON \ -DAPLCORE_INCLUDE_DIR=$HOME/sdk_folder/apl-core-library/aplcore/include \ -DAPLCORE_BUILD_INCLUDE_DIR=$HOME/sdk_folder/apl-core-library/build/aplcore/include \ -DAPLCORE_LIB_DIR=$HOME/sdk_folder/apl-core-library/build/aplcore \ -DYOGA_INCLUDE_DIR=$HOME/sdk_folder/apl-core-library/build/yoga-prefix/src/yoga \ -DYOGA_LIB_DIR=$HOME/sdk_folder/apl-core-library/build/lib \ ../alexa-smart-screen-sdk
Issue: SampleApp fails to create PortAudio microphone wrapper
Symptoms
You see the following error.
||PaMacCore (AUHAL)|| Error on line 1277: err='-66748', msg=Unknown Error
PortAudioMicrophoneWrapper:Failed to open PortAudio default stream:errorCode=-9986
PortAudioMicrophoneWrapper:Failed to initialize PortAudioMicrophoneWrapper
SampleApplication:Failed to create microphone wrapper!
InternetConnectionMonitor:testConnectionFailed:reason=contentFetcherCouldNotDownloadHeader
SampleApplication:Failed to initialize SampleApplication
Try this
- Run the following command.
brew install portaudio
- Use the updated PortAudio paths to rebuild AVS SDK and SmartScreen SDK. Note that the paths might be slightly different on your system depending on where
brew
installed the packages.-DPORTAUDIO_LIB_PATH=/usr/local/opt/portaudio/lib/libportaudio.dylib \ -DPORTAUDIO_INCLUDE_DIR=/usr/local/opt/portaudio/include
Raspberry Pi
Issue: Missing libcrypto
(or other library) error from AVS Device SDK build
Symptoms
AVS Device SDK cmake
build command fails with the error, "can't find libcrypto
," or an error reporting another library as missing.
Try this
Install the required version of the missing library. For example, the AVS Device SDK requires libcrypto
version 1.1. To install it, use the following command.
To install version 1.1
- Use the following command.
sudo apt install libcurl4-openssl-dev libssl-dev
To update pkgconfig
- Check whether
pkgconfig
is correct.pkg-config --list-all | grep libcrypto
- Copy the contents of
pkgconfig
inopenssl@1.1
(or the current version being used) into/usr/local/lib/pkgconfig
.cp /usr/local/Cellar/openssl@1.1/1.1.1g/lib/pkgconfig/* /usr/local/lib/pkgconfig
- Check whether
pkgconfig
is now correct.pkg-config --list-all | grep libcryptosr/local/opt/openssl/lib
You should see the following command output.
PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig
Issue: Audio settings appear to be correct, but no audio from sample app
Symptoms
When you click the Alexa logo in your web browser, and then speak into the microphone on my Pi, you see "Listening..."
and "Thinking..."
, but then nothing happens.
Try this
Your microphone might be turned off. If so, you need to turn it on.
To turn on your microphone
- In the upper right corner of the Raspberry Pi screen, right-click the speaker icon, and then choose USB Device Settings.
- In the dialog box, set the Sound card to USB PnP Sound Device (Alsa mixer).
- Under the Microphone level setting, look for a dot that's either black or red.
- If it's black, that means the microphone is turned off. Click the dot, and then it should turn red to show that the microphone is turned on.
Try this
If you're using a USB microphone and earbuds, try the following procedure.
To turn on your USB microphone and earbuds
- Replace the contents of your
~/.asoundrc
with the following definitions.pcm.!default { type hw card 0 } ctl.!default { type hw card 0 } }
- In the upper right corner of the Raspberry Pi screen, right-click the speaker icon, and then choose Analog.
- Right-click the speaker icon again, and then choose USB Device Settings.
- In the dialog box, set the Sound card to USB PnP Sound Device (Alsa mixer).
- Under the Microphone level setting, look for a dot that's either black or red.
- If it's black, that means the microphone is turned off. Click the dot, and then it should turn red to show that the microphone is turned on.
Related topics
Last updated: Dec 01, 2022