ispyagentdvr-docker icon indicating copy to clipboard operation
ispyagentdvr-docker copied to clipboard

Support Arm/ Arm64

Open ispysoftware opened this issue 4 years ago • 15 comments
trafficstars

Is there a way to detect and install the Arm/ Arm64 binaries and dependencies in Docker if it's Arm hardware?

ispysoftware avatar Feb 06 '21 02:02 ispysoftware

Usually pick the image as they need to. There might be a way if I use docker compose, not too familiar yet I'll look into it. For now the standard is to pick the correct image. I can add instructions on the readme.

On Fri, Feb 5, 2021, 6:51 PM sean tearney [email protected] wrote:

Is there a way to detect and install the Arm/ Arm64 binaries and dependencies in Docker if it's Arm hardware?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/doitandbedone/ispyagentdvr-docker/issues/162, or unsubscribe https://github.com/notifications/unsubscribe-auth/AORTFNCTUSJW42SN63LXJQDS5SVCRANCNFSM4XFZF6PQ .

doitandbedone avatar Feb 06 '21 03:02 doitandbedone

I'm also facing this issue. I'm trying to install it on my Raspberry Pi, however I'm getting the exec user process caused: exec format error, which basically means the architecture is not supported. Please add instructions to the readme, as I'm confused on what I should do.

KemyszPL avatar Feb 13 '21 17:02 KemyszPL

There's an arm download and instructions on the download page on the website

ispysoftware avatar Feb 13 '21 21:02 ispysoftware

There's currently no support for ispy and ARM on docker, however you may install ispy directly, please follow instructions here: https://www.ispyconnect.com/download.aspx

doitandbedone avatar Mar 01 '21 01:03 doitandbedone

Hello @doitandbedone , Very nice work, but tag "multi-arch" didn't work for rpi4 4GB with:

Raspberry Pi OS Lite Release date: January 11th 2021 Kernel version: 5.4

with docker-compose:

  agentdvr:
    container_name: agentdvr
    image: doitandbedone/ispyagentdvr:multi-arch
    volumes:
      - /home/pi/agentdvr:/agent/Media/XML
      - /home/pi/agentdvr/media:/agent/Media/WebServerRoot/Media
      - /home/pi/agentdvr/commands:/agent/Commands
    restart: always
    network_mode: host

Getting error: standard_init_linux.go:219: exec user process caused: exec format error

I'm also tryed with the digest code of multi-arch armv7:

doitandbedone/ispyagentdvr@sha256:1f2a3f30a0cd40e5624a2e52ede318d588b4b95c61b7d965c7ab374072ed15b2

nogueirasa avatar Mar 20 '21 19:03 nogueirasa

There's currently no support for ispy and ARM on docker, however you may install ispy directly, please follow instructions here: https://www.ispyconnect.com/download.aspx

Sorry, read your comment after posting mine

nogueirasa avatar Mar 20 '21 19:03 nogueirasa

No problem. Got pretty far with it but then hit some roadblocks. If things change I'll get back to it.

On Sat, Mar 20, 2021, 12:44 PM Ricardo Sa @.***> wrote:

There's currently no support for ispy and ARM on docker, however you may install ispy directly, please follow instructions here: https://www.ispyconnect.com/download.aspx

Sorry, read your comment after posting mine

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/doitandbedone/ispyagentdvr-docker/issues/162#issuecomment-803453495, or unsubscribe https://github.com/notifications/unsubscribe-auth/AORTFNCNCGBEL532MGCJIB3TET3LRANCNFSM4XFZF6PQ .

doitandbedone avatar Mar 20 '21 20:03 doitandbedone

Tried building an arm docker image for RPI4, using your dockerfile, changing agent, bionic and dependencies to arm32, it builds, but I get an error and container stops running..

Unhandled exception. System.TypeInitializationException: The type initializer for 'Emgu.CV.MatInvoke' threw an exception., ---> System.TypeInitializationException: The type initializer for 'Emgu.CV.CvInvoke' threw an exception., ---> System.DllNotFoundException: Unable to load shared library 'cvextern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libcvextern: cannot open shared object file: No such file or directory, at Emgu.CV.CvInvoke.RedirectError(CvErrorCallback errorHandler, IntPtr userdata, IntPtr prevUserdata), at Emgu.CV.CvInvoke..cctor(), --- End of inner exception stack trace ---, at Emgu.CV.CvInvoke.CheckLibraryLoaded(), at Emgu.CV.MatInvoke..cctor(), --- End of inner exception stack trace ---, at Emgu.CV.MatInvoke.cveMatCreate(), at CoreLogic.Utilities.Imaging.LoadStaticImages(), at CoreLogic.Threads.StartUp(), at AgentCore.Code.Initialize.Go(), at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_1(Object state), at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute(), at System.Threading.ThreadPoolWorkQueue.Dispatch(), at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(),

Any suggestions to why I get this error?

drlauridsen avatar May 04 '21 14:05 drlauridsen

As stated before please install directly instead of using docker for ARM based systems. There's unfortunately limited support for it on dependencies and also adds unnecessary overhead.

On Tue, May 4, 2021, 7:15 AM Johnny @.***> wrote:

Tried building an arm docker image for RPI4, using your dockerfile, changing agent, bionic and dependencies to arm32, it builds, but I get an error and container stops running..

Unhandled exception. System.TypeInitializationException: The type initializer for 'Emgu.CV.MatInvoke' threw an exception., ---> System.TypeInitializationException: The type initializer for 'Emgu.CV.CvInvoke' threw an exception., ---> System.DllNotFoundException: Unable to load shared library 'cvextern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libcvextern: cannot open shared object file: No such file or directory, at Emgu.CV.CvInvoke.RedirectError(CvErrorCallback errorHandler, IntPtr userdata, IntPtr prevUserdata), at Emgu.CV.CvInvoke..cctor(), --- End of inner exception stack trace ---, at Emgu.CV.CvInvoke.CheckLibraryLoaded(), at Emgu.CV.MatInvoke..cctor(), --- End of inner exception stack trace ---, at Emgu.CV.MatInvoke.cveMatCreate(), at CoreLogic.Utilities.Imaging.LoadStaticImages(), at CoreLogic.Threads.StartUp(), at AgentCore.Code.Initialize.Go(), at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_1(Object state), at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute(), at System.Threading.ThreadPoolWorkQueue.Dispatch(), at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(),

Any suggestions to why I get this error?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/doitandbedone/ispyagentdvr-docker/issues/162#issuecomment-831976173, or unsubscribe https://github.com/notifications/unsubscribe-auth/AORTFNE2B2HCCZWCPBG2VYDTL76QFANCNFSM4XFZF6PQ .

doitandbedone avatar May 04 '21 14:05 doitandbedone

Thanks Already installed it directly, which works fine.. But it really annoys me that I cant get the docker install to work.. 🤔 I have found the dotnet bionic arm image, and dependencies for libjpegturbo etc, and still get the error. Just hoped you had a suggestion, since it seems you also tried working on an arm image.

drlauridsen avatar May 04 '21 14:05 drlauridsen

I'm running Docker Ubuntu on a Pi4 and get the same issue. Confused as I thought the whole point of Docker was you could run it on whatever host OS you wanted?! I've installed a bunch of other images no issue so not sure what the problem is with this one?

dp106 avatar Jun 25 '21 20:06 dp106

+1

davidcampelo avatar Jul 05 '21 10:07 davidcampelo

I've submitted #251 for arm32v7 and arm64v8. The big issue I see is that bionic doesn't have GLIBC 2.28 support in libc, which is required by libcvextern, so it fails to load. Bumping that to focal caused some repository issues, so I based it on Buster, which seems to work but needs testing.

Also, getting architecture detection/support in a single Dockerfile gave me fits, so I split them off into separate Dockerfiles.

rocket357 avatar Jul 28 '21 05:07 rocket357

Thank you for your contribution @rocket357, a new branch with your changes has been created and will be reviewed. Anyone else that may be curious is welcomed to try it out, although, do remember it has not been fully tested and would instead recommend direct install instructed here: https://www.ispyconnect.com/download.aspx

doitandbedone avatar Jul 29 '21 00:07 doitandbedone

Try using https://hub.docker.com/r/grinco/ispyagentdvr in the meantime. Tested on Radxa rock 5b. I'll adjust the docker file so it builds on multiple architectures and create a pull request to merge it.

grinco avatar Jan 19 '23 14:01 grinco