avs-device-sdk
avs-device-sdk copied to clipboard
build error for libLibSampleApp.dylib
IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:
build error
make SampleApp
build part:
$HOME/Documents/avs/source/avs-device-sdk \ -DGSTREAMER_MEDIA_PLAYER=ON \ -DCURL_LIBRARY=/usr/local/opt/curl/lib/libcurl.dylib \ -DCURL_INCLUDE_DIR=/usr/local/opt/curl/include \ -DPORTAUDIO=ON \ -DPKCS11=OFF \ -DPORTAUDIO_LIB_PATH=$HOME/Documents/avs/third-party/portaudio/lib/.libs/libportaudio.a \ -DPORTAUDIO_INCLUDE_DIR=$HOME/Documents/avs/third-party/portaudio/include \ -DCMAKE_BUILD_TYPE=DEBUG
[ 95%] Linking CXX shared library libLibSampleApp.dylib ld: warning: ignoring file /Users/xiaoheng/Documents/avs/third-party/portaudio/lib/.libs/libportaudio.a, building for macOS-x86_64 but attempting to link with file built for macOS-x86_64 Undefined symbols for architecture x86_64: "_Pa_CloseStream", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o "_Pa_GetDefaultInputDevice", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o "_Pa_Initialize", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o "_Pa_OpenDefaultStream", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o "_Pa_OpenStream", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o "_Pa_StartStream", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::startStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o "_Pa_StopStream", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::stopStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o "_Pa_Terminate", referenced from: alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [SampleApp/src/libLibSampleApp.dylib] Error 1 make[2]: *** [SampleApp/src/CMakeFiles/LibSampleApp.dir/all] Error 2 make[1]: *** [SampleApp/src/CMakeFiles/SampleApp.dir/rule] Error 2 make: *** [SampleApp] Error 2
libportaudio.2.dylib libportaudio.a libportaudio.exp libportaudio.lai ➜ .libs lipo -info libportaudio.a Non-fat file: libportaudio.a is architecture: x86_64
What is the expected behavior?
What behavior are you observing?
Provide the steps to reproduce the issue, if applicable:
Tell us about your environment:
What version of the AVS Device SDK are you using?
<1.26.0>
Tell us what hardware you're using:
- [x] Desktop / Laptop. MacBook Pro(intel)
- [ ] Raspberry Pi
- [ ] Other - tell us more:
Tell us about your OS (Type & version):
- [ ] Linux
- [x] MacOS 12.3.1
- [ ] Raspbian Stretch
- [ ] Raspbian Jessy
- [ ] Other - tell us more:
Hi,
Can you please link against libportaudio.dylib inside .libs instead?
Additionally, can you please try building with the latest version of PortAudio found here? http://files.portaudio.com/download.html
It should be pa_stable_v190700_20210406.tgz.
I have build with pa_stable_v190700_20210406.tgz, the issue is same.
I am facing the same issue as well. Here is the gist of the issue (also I installed PortAudio as mentioned here : https://developer.amazon.com/en-US/docs/alexa/avs-device-sdk/mac-os.html i.e. brew install portaudio
, in my case however it reports an issue for arm64 based architecture despite https://formulae.brew.sh/formula/portaudio showing that portaudio builds for Apple Silicon) :
Executing :
file libportaudio.dylib
yields which means that I do have requisite symbols
libportaudio.dylib: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64Mach-O 64-bit dynamically linked shared library arm64]
libportaudio.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
libportaudio.dylib (for architecture arm64): Mach-O 64-bit dynamically linked shared library arm64
[ 96%] Linking CXX shared library libDefaultClient.dylib
[ 96%] Built target DefaultClient
[ 96%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/ConsolePrinter.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/CustomConnectionObserver.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/CustomMessageObserver.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/InteractionManager.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/ExternalCapabilitiesBuilder.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/LocaleAssetsManager.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/KeywordObserver.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/GuiRenderer.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/UserInputManager.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/MagentaAppExecutor.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/UIManager.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/SampleApplicationComponent.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/SampleApplication.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/SampleEqualizerModeController.cpp.o
[100%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/PortAudioMicrophoneWrapper.cpp.o
[100%] Linking CXX shared library libLibSampleApp.dylib
Undefined symbols for architecture arm64:
"_Pa_CloseStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_GetDefaultInputDevice", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_Initialize", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_OpenDefaultStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_OpenStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_StartStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::startStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_StopStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::stopStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_Terminate", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [MagentaApp/src/libLibSampleApp.dylib] Error 1
make[2]: *** [MagentaApp/src/CMakeFiles/LibSampleApp.dir/all] Error 2
make[1]: *** [MagentaApp/src/CMakeFiles/SampleApp.dir/rule] Error 2
I even tried building PortAudio from scratch using the latest version : http://files.portaudio.com/archives/pa_stable_v190700_20210406.tgz but still facing the same issue
There are updated instructions regarding installing PortAudio dependencies, that can be found here:
https://developer.amazon.com/en-US/docs/alexa/avs-device-sdk/mac-os.html
Would it be possible to give those a try and report back whether or not they are successful?
Hello @xhlinux,
Due to the inactivity of this ticket, this ticket will be closed. Please feel free to re-open the ticket if you have more questions or feel that your question has not been answered fully.