Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jetson_ffmpeg build error #4

Open
OttPeterR opened this issue Dec 4, 2021 · 4 comments
Open

jetson_ffmpeg build error #4

OttPeterR opened this issue Dec 4, 2021 · 4 comments

Comments

@OttPeterR
Copy link

I spun up a fresh jetson image today and tried installing this repo. I've tried with the most recent version of docker (20) and downgraded to 19 because of some known issues. Downgrading got me passed a previous build error so I'm on docker 19.03.6 right now with containerd at 1.5.2 as well. (this issue) but everything else is up to date. I'm far from being a unix package guru, so hopefully the solution is obvious, just not to me at the moment.

OttPeterR@jetson-nano:~/frigate$ sudo make jetson_ffmpeg
docker build --tag blakeblackshear/frigate-ffmpeg:1.0.0-aarch64 --file docker/Dockerfile.ffmpeg.aarch64-jetson .
Sending build context to Docker daemon  1.578MB
Step 1/55 : FROM        balenalib/jetson-nano-ubuntu:latest AS base
 ---> 7ecd0c53e38e
Step 2/55 : WORKDIR     /tmp/workdir
 ---> Using cache
 ---> e09fe58f5084
Step 3/55 : ENV     DEBIAN_FRONTEND=noninteractive
 ---> Using cache
 ---> eb23270a37ea
Step 4/55 : RUN             echo '#!/bin/sh\nsu -c "$*"' > /usr/local/bin/sudo && chmod +x /usr/local/bin/sudo &&         apt-get -yqq update &&         mkdir -p /opt/nvidia/l4t-packages/ &&         touch /opt/nvidia/l4t-packages/.nv-l4t-disable-boot-fw-update-in-preinstall &&         echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/aarch64-linux-gnu_GL.conf && ldconfig &&         apt-get -yqq -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew install         --no-install-recommends ca-certificates expat libgomp1 cmake git nvidia-l4t-core nvidia-l4t-jetson-multimedia-api wget &&         apt-get autoremove -y &&         apt-get clean -y
 ---> Running in 37914c45a5bf
Here are a few details about this Docker image (For more information please visit https://www.balena.io/docs/reference/base-images/base-images/):
Architecture: ARM v8
OS: Ubuntu focal
Variant: run variant
Default variable(s): UDEV=off
Extra features:
- Easy way to install packages with `install_packages <package-name>` command
- Run anywhere with cross-build feature  (for ARM only)
- Keep the container idling with `balena-idle` command
- Show base image details with `balena-info` command

E: Unable to correct problems, you have held broken packages.

The command '/bin/sh -c echo '#!/bin/sh\nsu -c "$*"' > /usr/local/bin/sudo && chmod +x /usr/local/bin/sudo &&         apt-get -yqq update &&         mkdir -p /opt/nvidia/l4t-packages/ &&         touch /opt/nvidia/l4t-packages/.nv-l4t-disable-boot-fw-update-in-preinstall &&         echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/aarch64-linux-gnu_GL.conf && ldconfig &&         apt-get -yqq -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew install         --no-install-recommends ca-certificates expat libgomp1 cmake git nvidia-l4t-core nvidia-l4t-jetson-multimedia-api wget &&         apt-get autoremove -y &&         apt-get clean -y' returned a non-zero code: 100
Makefile:39: recipe for target 'jetson_ffmpeg' failed
make: *** [jetson_ffmpeg] Error 100
@magnusnordlander
Copy link

This is because balenalib/jetson-nano-ubuntu:latest has been updated to Ubuntu focal instead of bionic. There's also an issue with the URL for freetype 2.5.5. I'm working through installing everything and will submit a PR when I've got it up and running.

@dadaloop82
Copy link

I have the (provisional) solution.
Tested on Jetson Nano 2Gb

After "Download docker build files and replace them"

/frigate/docker/Dockerfile.ffmpeg.aarch64-jetson

change row 6 to
FROM balenalib/jetson-nano-ubuntu:bionic AS base
change row 29 to
FREETYPE_VERSION=2.11.0
change row 54 to
ARG FREETYPE_SHA256SUM="a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f freetype-2.11.0.tar.gz"

the follow the guide, execute:

  • make jetson_ffmpeg
  • wait and wait (~60/120 min)
  • even if it seems stuck, or if there are errors, wait . . .

follow the guide (https://github.com/e1z0/jetson-frigate)

So it should work.

@OttPeterR
Copy link
Author

OttPeterR commented Feb 3, 2022

Following those steps I was able to build successfully, so thats awesome and thanks for the work!

I'm hitting an issue when I launch unfortunately:


[+] Running 2/2                                                                                                 
 ⠿ Network my_frigate_default  Created                                                                     0.1s 
 ⠿ Container frigate           Created                                                                     0.1s 
Attaching to frigate                                                                                            
frigate  | ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers                                   
frigate  |   built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)                                              
frigate  |   configuration: --enable-nvmpi --disable-debug --disable-doc --disable-ffplay --enable-shared --ena$
le-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libfreetype --enable-$
ibvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-li
bwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --ena
ble-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libzmq --extra-libs=-ldl --prefix=/op
t/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-v4l2_m2m --ena
ble-neon --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
frigate  |   libavutil      56. 51.100 / 56. 51.100
frigate  |   libavcodec     58. 91.100 / 58. 91.100
frigate  |   libavformat    58. 45.100 / 58. 45.100
frigate  |   libavdevice    58. 10.100 / 58. 10.100
frigate  |   libavfilter     7. 85.100 /  7. 85.100
frigate  |   libavresample   4.  0.  0 /  4.  0.  0
frigate  |   libswscale      5.  7.100 /  5.  7.100
frigate  |   libswresample   3.  7.100 /  3.  7.100
frigate  |   libpostproc    55.  7.100 / 55.  7.100
frigate  | nvbuf_utils: Could not get EGL display connection
frigate  | Hyper fast Audio and Video encoder
frigate  | usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
frigate  |

With some searching it seems that the EGL error message comes with running in headless mode, which is what I'm doing. I'm not versed in anything Jetson unfortunately so I can be of much help here. But if I could help by testing anything let me know!

@aminalaghband
Copy link

Hello guys
would you please help me
Step 45/55 : RUN DIR=/tmp/libxcb-proto && mkdir -p ${DIR} && cd ${DIR} && curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && ./configure --prefix="${PREFIX}" && make -j $(nproc) &amp;&amp; make -j $(nproc) install && rm -rf ${DIR}
---> Running in 3e8d25d2295f
The command '/bin/sh -c DIR=/tmp/libxcb-proto && mkdir -p ${DIR} && cd ${DIR} && curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && ./configure --prefix="${PREFIX}" && make -j $(nproc) &amp;&amp; make -j $(nproc) install && rm -rf ${DIR}' returned a non-zero code: 6
make: *** [Makefile:39: jetson_ffmpeg] Error 6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants