awslabs / amazon-kinesis-video-streams-webrtc-sdk-c

Amazon Kinesis Video Streams Webrtc SDK is for developers to install and customize realtime communication between devices and enable secure streaming of video, audio to Kinesis Video Streams.
https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/group__PublicMemberFunctions.html
Apache License 2.0
1.04k stars 313 forks source link

No package 'libsrtp2' found #144

Closed mdonahoe closed 4 years ago

mdonahoe commented 4 years ago

I am following in devguide and get an error during the cmake .. step

~/aws2/amazon-kinesis-video-streams-webrtc-sdk-c/build$ cmake ..
-- Kinesis Video PIC path is /home/myuser/aws2/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-pic/
-- Kinesis Video C Producer path is /home/myuser/aws2/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-c-producer/
-- Kinesis Video WebRTC Client path is /home/myuser/aws2/amazon-kinesis-video-streams-webrtc-sdk-c
-- dependencies install path is /home/myuser/aws2/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/local
-- Bitness 64 bits
-- Checking for module 'libsrtp2'
--   No package 'libsrtp2' found
CMake Error at /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:452 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:622 (_pkg_check_modules_internal)
  CMakeLists.txt:308 (pkg_check_modules)

-- Configuring incomplete, errors occurred!
See also "/home/myuser/aws2/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeOutput.log".
See also "/home/myuser/aws2/amazon-kinesis-video-streams-webrtc-sdk-c/build/CMakeFiles/CMakeError.log".

This happens on an arm64 machine running Ubuntu Xenial 16.04. I did not have this problem on my laptop running 16.04, so I assume it is either arm64 related, or something wrong with my machine's configuration.

I'll keep digging, but any suggestions would be appreciated. I was assuming that these dependencies are built from source rather than installed, so I am surprised that it can't find libsrtp.

Sean-Der commented 4 years ago

@mdonahoe Sorry about that!

We download + build all code by default. -DBUILD_DEPENDENCIES can be used to disable it.

Can you run git clean -ffxd and run the build again? Maybe the cached libs in open-source are causing an issue. Does the arm64 box have git and network access?


If you don't want to build dependencies via cmake it is also easily possible! If you set -DBUILD_DEPENDENCIES to false you can get everything via your package manager.

Sean-Der commented 4 years ago

Also can you try deleting open-source/libsrtp/ and re-running the cmake?

Maybe it failed to build, and didn't stop the entire build.

mdonahoe commented 4 years ago

git clean -ffxd worked! Thanks.

I had a failed build earlier for other reasons, and I suspect the open-source folder had stale outputs.

Sean-Der commented 4 years ago

Fantastic! I will start a FAQ section in the README with that. Not sure how else we could fix it better.

If you hit any other rough edges send them my way I am sure others are hitting it also!