Yes, i forgot to mention that the first thing I tried was adding the package inside .sdk file using torizonpackages.json but was getting unmet dependencies error.
There were two ways I tried to add package libgstreamer1.0-dev:arm64 manually and through json please find the error below in both cases-
METHOD - 1
# automate for torizonPackages.json
RUN apt-get -q -y update && *
** apt-get -q -y install *
** libgstreamer-plugins-base1.0-dev **
# DO NOT REMOVE THIS LABEL: this is used for VS Code automation
** # torizon_packages_build_start**
** libgstreamer1.0-dev:arm64 **
** # torizon_packages_build_end**
# DO NOT REMOVE THIS LABEL: this is used for VS Code automation
** && **
** apt-get clean && apt-get autoremove && **
** rm -rf /var/lib/apt/lists/* **
*** Executing task: pwsh -nop .conf/validateDepsRunning.ps1 **
VALIDATING ENVIRONMENT
Environment is valid!
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: bash -c [[ ! -z “10.20.24.106” ]] && true || false **
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: bash -c [[ “aarch64” == “aarch64” ]] && true || false **
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: sleep 1 **
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: sshpass -p neogen scp -P 22 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no /home/gaurav-c/tiscamera5/docker-compose.yml torizon@10.20.24.106:~/ **
Warning: Permanently added ‘10.20.24.106’ (ED25519) to the list of known hosts.
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: DOCKER_HOST=10.20.24.106:2375 docker image prune -f --filter=dangling=true **
Total reclaimed space: 0B
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: docker compose -p torizon stop tiscam5 tiscam5-debug && docker compose -p torizon rm -f tiscam5 tiscam5-debug **
No stopped containers
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: pwsh -nop /home/gaurav-c/tiscamera5/.conf/torizonPackages.ps1 arm64 **
Applying torizonPackages.json …
Applying to Dockerfile.debug …
Dockerfile.debug
Applying to Dockerfile.sdk …
Dockerfile.sdk
Applying to Dockerfile …
Dockerfile
torizonPackages.json applied
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: DOCKER_HOST= docker build --pull -f /home/gaurav-c/tiscamera5/Dockerfile.sdk /home/gaurav-c/tiscamera5 -t cross-toolchain-arm64-tiscam5 --build-arg IMAGE_ARCH=arm64 --build-arg GPU=-imx8 --build-arg APP_ROOT=/home/torizon/app **
[+] Building 238.7s (8/8) FINISHED docker:default
** => [internal] load build definition from Dockerfile.sdk 0.0s**
** => => transferring dockerfile: 1.14kB 0.0s**
** => WARN: NoEmptyContinuation: Empty continuation line (line 42) 0.0s**
** => WARN: InvalidDefaultArgInFrom: Default value for ARG torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} results in empty or 0.0s**
** => [internal] load metadata for docker.io/torizon/debian-cross-toolchain-arm64:3.2.0 1.0s**
** => [internal] load .dockerignore 0.0s**
** => => transferring context: 56B 0.0s**
** => [1/4] FROM docker.io/torizon/debian-cross-toolchain-arm64:3.2.0@sha256:0c1389af168fab4942b68525591c8ff0722f40d3f10a6b92b4c2ad9660cf12b6 0.0s**
** => CACHED [2/4] RUN apt-get -q -y update && apt-get -q -y install && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt 0.0s**
** => [3/4] RUN apt-get -q -y update && apt-get -q -y install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev:arm64 && 235.0s**
** => [4/4] WORKDIR /home/torizon/app 0.1s **
** => exporting to image 2.4s **
** => => exporting layers 2.3s **
** => => writing image sha256:a85adb70ef8720b1b3a7b59c1fc6843be4aaed3f38b87c8bf70b6658f91cf19e 0.0s **
** => => naming to Docker Hub Container Image Library | App Containerization 0.0s **
** 2 warnings found (use docker --debug to expand):**
** - NoEmptyContinuation: Empty continuation line (line 42)**
** - InvalidDefaultArgInFrom: Default value for ARG torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} results in empty or invalid base image name (line 16)**
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: make ARCH=arm64 makedir **
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: DOCKER_HOST= docker run --rm -v /home/gaurav-c/tiscamera5:/home/torizon/app cross-toolchain-arm64-tiscam5 make ARCH=arm64 CC=aarch64-linux-gnu-g++ debug **
aarch64-linux-gnu-g++ -Iincludes/ -Icrow/include -Iboost_1_81_0 -I/usr/include -I/usr/include/gstreamer-1.0/gst/app -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/aarch64-linux-gnu -c -g -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/aarch64-linux-gnu -o build-arm64/debug/main.o src/main.cpp
**aarch64-linux-gnu-g++ -Iincludes/ -Icrow/include -Iboost_1_81_0 -I/usr/include -I/usr/include/gstreamer-1.0/gst/app -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/aarch64-linux-gnu -g -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/aarch64-linux-gnu build-arm64/debug/main.o -o build-arm64/debug/tiscamera5 -L/usr/lib/aarch64-linux-gnu -lgstapp-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 **
/usr/lib/gcc-cross/aarch64-linux-gnu/12/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lgstapp-1.0: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:47: build-arm64/debug/tiscamera5] Error 1
** * The terminal process “/usr/bin/bash ‘-c’, ‘DOCKER_HOST= docker run --rm -v /home/gaurav-c/tiscamera5:/home/torizon/app cross-toolchain-arm64-tiscam5 make ARCH=arm64 CC=aarch64-linux-gnu-g++ debug’” terminated with exit code: 2. **
** * Terminal will be reused by tasks, press any key to close it. **
METHOD - 2
# automate for torizonPackages.json
RUN apt-get -q -y update && *
** apt-get -q -y install *
# DO NOT REMOVE THIS LABEL: this is used for VS Code automation
** # torizon_packages_build_start**
** libgstreamer1.0-dev:arm64 **
** libgstreamer-plugins-base1.0-dev:arm64 **
** # torizon_packages_build_end**
# DO NOT REMOVE THIS LABEL: this is used for VS Code automation
** && **
** apt-get clean && apt-get autoremove && **
** rm -rf /var/lib/apt/lists/***
** * Executing task: pwsh -nop .conf/validateDepsRunning.ps1 **
VALIDATING ENVIRONMENT
Environment is valid!
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: bash -c [[ ! -z “10.20.24.106” ]] && true || false **
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: bash -c [[ “aarch64” == “aarch64” ]] && true || false **
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: sleep 1 **
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: sshpass -p neogen scp -P 22 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no /home/gaurav-c/tiscamera5/docker-compose.yml torizon@10.20.24.106:~/ **
Warning: Permanently added ‘10.20.24.106’ (ED25519) to the list of known hosts.
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: DOCKER_HOST=10.20.24.106:2375 docker image prune -f --filter=dangling=true **
Total reclaimed space: 0B
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: docker compose -p torizon stop tiscam5 tiscam5-debug && docker compose -p torizon rm -f tiscam5 tiscam5-debug **
No stopped containers
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: pwsh -nop /home/gaurav-c/tiscamera5/.conf/torizonPackages.ps1 arm64 **
Applying torizonPackages.json …
Applying to Dockerfile.debug …
Dockerfile.debug
Applying to Dockerfile.sdk …
Dockerfile.sdk
Applying to Dockerfile …
Dockerfile
torizonPackages.json applied
** * Terminal will be reused by tasks, press any key to close it. **
** * Executing task: DOCKER_HOST= docker build --pull -f /home/gaurav-c/tiscamera5/Dockerfile.sdk /home/gaurav-c/tiscamera5 -t cross-toolchain-arm64-tiscam5 --build-arg IMAGE_ARCH=arm64 --build-arg GPU=-imx8 --build-arg APP_ROOT=/home/torizon/app **
[+] Building 7.0s (6/7) docker:default
** => [internal] load build definition from Dockerfile.sdk 0.0s**
** => => transferring dockerfile: 1.15kB 0.0s**
** => WARN: InvalidDefaultArgInFrom: Default value for ARG torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} results in empty or 0.0s**
** => [internal] load metadata for docker.io/torizon/debian-cross-toolchain-arm64:3.2.0 1.8s**
** => [internal] load .dockerignore 0.0s**
** => => transferring context: 56B 0.0s**
** => [1/4] FROM docker.io/torizon/debian-cross-toolchain-arm64:3.2.0@sha256:0c1389af168fab4942b68525591c8ff0722f40d3f10a6b92b4c2ad9660cf12b6 0.0s**
** => CACHED [2/4] RUN apt-get -q -y update && apt-get -q -y install && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt 0.0s**
** => ERROR [3/4] RUN apt-get -q -y update && apt-get -q -y install libgstreamer1.0-dev:arm64 libgstreamer-plugins-base1.0-dev:arm64 5.1s**
**------ **
** > [3/4] RUN apt-get -q -y update && apt-get -q -y install libgstreamer1.0-dev:arm64 libgstreamer-plugins-base1.0-dev:arm64 && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt/lists/*: **
**0.695 Get:1 Index of /debian bookworm InRelease [151 kB] **
**0.849 Get:2 Index of /debian bookworm-updates InRelease [55.4 kB] **
**0.888 Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] **
0.902 Get:4 Index of /debian bookworm/main amd64 Packages [8792 kB]
1.097 Get:5 Index of /debian bookworm/main arm64 Packages [8693 kB]
1.130 Get:6 Index of /debian/snapshots/20240227T131454Z testing InRelease [15.1 kB]
1.255 Get:7 Index of /debian bookworm-updates/main amd64 Packages [13.5 kB]
1.311 Get:8 Index of /debian bookworm-updates/main arm64 Packages [13.3 kB]
1.419 Get:9 Index of /debian/snapshots/20240227T131454Z testing/non-free arm64 Packages [5573 B]
1.516 Get:10 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [242 kB]
1.554 Get:11 Index of /debian/snapshots/20240227T131454Z testing/main arm64 Packages [59.9 kB]
2.097 Get:12 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [246 kB]
2.883 Fetched 18.3 MB in 3s (6800 kB/s)
2.883 Reading package lists…
3.725 Reading package lists…
4.562 Building dependency tree…
4.775 Reading state information…
4.930 Some packages could not be installed. This may mean that you have
4.930 requested an impossible situation or if you are using the unstable
4.930 distribution that some required packages have not yet been created
4.930 or been moved out of Incoming.
4.930 The following information may help to resolve the situation:
**4.930 **
4.930 The following packages have unmet dependencies:
5.016 libdrm-amdgpu1:arm64 : Depends: libdrm2:arm64 (>= 2.4.108) but it is not going to be installed
5.016 libdrm-dev:arm64 : Depends: libdrm2:arm64 (= 2.4.109-2+toradex2) but it is not going to be installed
5.016 libdrm-etnaviv1:arm64 : Depends: libdrm2:arm64 (>= 2.4.108) but it is not going to be installed
5.016 libdrm-freedreno1:arm64 : Depends: libdrm2:arm64 (>= 2.4.108) but it is not going to be installed
5.016 libdrm-nouveau2:arm64 : Depends: libdrm2:arm64 (>= 2.4.108) but it is not going to be installed
5.016 libdrm-radeon1:arm64 : Depends: libdrm2:arm64 (>= 2.4.108) but it is not going to be installed
5.016 libdrm-tegra0:arm64 : Depends: libdrm2:arm64 (>= 2.4.108) but it is not going to be installed
5.016 libdrm-vivante1:arm64 : Depends: libdrm2:arm64 (>= 2.4.38) but it is not going to be installed
5.016 libegl-dev:arm64 : Depends: libegl1:arm64 (= 1.6.0-1)
5.016 Depends: libgl-dev:arm64
5.016 libgbm1:arm64 : Depends: libdrm2:arm64 (>= 2.4.75) but it is not going to be installed
5.016 libgles-dev:arm64 : Depends: libgl-dev:arm64
5.016 libgstreamer-gl1.0-0:arm64 : Depends: libdrm2:arm64 (>= 2.4.17) but it is not going to be installed
5.016 Depends: libegl1:arm64
5.016 libgstreamer-plugins-base1.0-dev:arm64 : Depends: libgl-dev:arm64
5.023 E: Unable to correct problems, you have held broken packages.
------
** 1 warning found (use docker --debug to expand):**
** - InvalidDefaultArgInFrom: Default value for ARG torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} results in empty or invalid base image name (line 16)**
Dockerfile.sdk:31
--------------------
** 30 | # automate for torizonPackages.json**
** 31 | >>> RUN apt-get -q -y update && **
** 32 | >>> apt-get -q -y install **
** 33 | >>> # DO NOT REMOVE THIS LABEL: this is used for VS Code automation**
** 34 | >>> # torizon_packages_build_start**
** 35 | >>> libgstreamer1.0-dev:arm64 **
** 36 | >>> libgstreamer-plugins-base1.0-dev:arm64 **
** 37 | >>> # torizon_packages_build_end**
** 38 | >>> # DO NOT REMOVE THIS LABEL: this is used for VS Code automation**
** 39 | >>> && **
** 40 | >>> apt-get clean && apt-get autoremove && **
** 41 | >>> rm -rf /var/lib/apt/lists/***
** 42 | **
--------------------
ERROR: failed to solve: process “/bin/sh -c apt-get -q -y update && apt-get -q -y install \t libgstreamer1.0-dev:arm64 \t libgstreamer-plugins-base1.0-dev:arm64 && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt/lists/*” did not complete successfully: exit code: 100
** * The terminal process “/usr/bin/bash ‘-c’, ‘DOCKER_HOST= docker build --pull -f /home/gaurav-c/tiscamera5/Dockerfile.sdk /home/gaurav-c/tiscamera5 -t cross-toolchain-arm64-tiscam5 --build-arg IMAGE_ARCH=arm64 --build-arg GPU=-imx8 --build-arg APP_ROOT=/home/torizon/app’” terminated with exit code: 1. **
** * Terminal will be reused by tasks, press any key to close it.**
I have also tried adding libdrm2 but unfortunately it did not fix the issue and I’ve created a new project having nothing just sample makefile project.
Thanks,
Gaurav