GithubHelp home page GithubHelp logo

Comments (9)

MushMal avatar MushMal commented on July 24, 2024

It's hard to tell whats going on yet...

Can I ask you to run the following command on the PI in the kinesis-video-native-build directory:

ldd start
ldd libproducer.so

If the linkage of the open source components used by the SDK is correct - aka, it links against kinesis-video-native-build/downloads/local/lib/... then it's possible that one of the libraries was not properly built - suspecting libcul and/or libssl. You can try recompiling just those by removing kinesis-video-native-build/downloads/local/lib/libssl.a and kinesis-video-native-build/downloads/local/lib/libcurl.a

from amazon-kinesis-video-streams-producer-sdk-cpp.

dpmcgarry avatar dpmcgarry commented on July 24, 2024

Sure here you do:
ldd start /usr/lib/arm-linux-gnueabihf/libarmmem.so (0xb6f65000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6f52000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6f3b000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6f12000)
libproducer.so => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/libproducer.so (0xb6b02000)
liblog4cplus-1.2.so.5 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/liblog4cplus-1.2.so.5 (0xb6a94000)
libcrypto.so.1.1 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libcrypto.so.1.1 (0xb68ae000)
libssl.so.1.1 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libssl.so.1.1 (0xb684c000)
libgtest.so => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libgtest.so (0xb679d000)
libgtest_main.so => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libgtest_main.so (0xb678b000)
libcurl.so.4 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libcurl.so.4 (0xb6722000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb65da000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb655b000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb652e000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb63ef000)
/lib/ld-linux-armhf.so.3 (0xb6f7b000)

ldd libproducer.so
/usr/lib/arm-linux-gnueabihf/libarmmem.so (0xb6acd000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6aba000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6aa3000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6a7a000)
liblog4cplus-1.2.so.5 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/liblog4cplus-1.2.so.5 (0xb6a0c000)
libcrypto.so.1.1 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libcrypto.so.1.1 (0xb6826000)
libssl.so.1.1 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libssl.so.1.1 (0xb67c4000)
libgtest.so => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libgtest.so (0xb6715000)
libgtest_main.so => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libgtest_main.so (0xb6703000)
libcurl.so.4 => /home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/libcurl.so.4 (0xb669a000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6552000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb64d3000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb64a6000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6367000)
/lib/ld-linux-armhf.so.3 (0xb6ef3000)
pi@pi-dev:~/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build $

from amazon-kinesis-video-streams-producer-sdk-cpp.

MushMal avatar MushMal commented on July 24, 2024

I see that you are linking against the built libraries indeed. I am not yet sure what's going on. Let us try to setup a few more RPIs.

In the meanwhile, can you answer the following questions:

  • What RPI do you have?
  • What's your RPI OS and firmware version?
  • Have you updated your firmware?
  • If so, have you recompiled everything from scratch?
  • Could you run this under the debugger like gdb (if you are familiar)? It would give us at least some understanding whether this is caused by a mis-matched ABI.

from amazon-kinesis-video-streams-producer-sdk-cpp.

dpmcgarry avatar dpmcgarry commented on July 24, 2024

I have both a Pi3 and Pi2 B+. Both are running raspbian stretch from the minimal image dated 11/2017. Yes i updated my firmware and all packages. The one thing I did as a bit of a 'shortcut' was to compile this on a pi3 and copy it to the pi2. It looked like everything compiled as arm 32 bit which made me think it would be "ok". If you think that's a problem I can recompile from scratch on the pi2 (probably overnight since it's brutally slow). I'm happy to debug, though my gdb skills are at non-ninja levels since i haven't done much command line C++ debugging in the last 10 years or so grin. Should i just gdb the main binary?

from amazon-kinesis-video-streams-producer-sdk-cpp.

dpmcgarry avatar dpmcgarry commented on July 24, 2024

I am running firmware 51bc4cc4ee47d7e4efcc76fa664fcfe4c0e46e3e

from amazon-kinesis-video-streams-producer-sdk-cpp.

dpmcgarry avatar dpmcgarry commented on July 24, 2024

A little more info. I don't have a camera hooked up to the pi3, but it appears that it got further than the pi2. It also appears that the tests run successfully on the pi3. So I guess I'll suck it up and compile from scratch on the pi2. Will advise on what i find.

from amazon-kinesis-video-streams-producer-sdk-cpp.

MushMal avatar MushMal commented on July 24, 2024

@dpmcgarry the hardware ABI is different on those platforms. You really have to either compile the entire OS dependencies on each individual platform or perhaps just get it and install it. The SDK itself doesn't really need much - it's entirely based on CMake - so what you can do is to pull down the dependencies manually to save time and create a script/modify the main CMakeList.txt to point to the system versions of the libraries. The install-script is just easier as it will build the appropriate ones but it just takes really long.

Regarding the camera.. The sample application will stream dummy frames so if you are successful then you at least pinged the e2e with that. The sample GStreamer application then will actually stream the video from the default camera.

If you are satisfied with the resolution please close the issue.

from amazon-kinesis-video-streams-producer-sdk-cpp.

dpmcgarry avatar dpmcgarry commented on July 24, 2024

Hi- Thanks. Was able to build and run tests on both successfully. I have run into another issue on the pi-2, but will open a seperate item and close this one. Thanks again!

from amazon-kinesis-video-streams-producer-sdk-cpp.

MushMal avatar MushMal commented on July 24, 2024

Glad to hear it. Will help with your issue on the pi-2.

from amazon-kinesis-video-streams-producer-sdk-cpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.