When I do a release build, it can't find my executable when it tries to launch the container

So, I am trying to build a release build using the task: run-container-torizon-release-arm64. However, when it gets to the end where it tries to spin up the container, it says it can’t find the executable.

“Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: “./app/MyApp -D”: stat ./app/MyApp -D: no such file or directory: unknown”

My makefile is virtually the same as the helloworld app with the exceptions of hardware needs and more files. It compiles and creates the debug version just fine. After it stops, I look for any executable in my working directory and there is none.
Not really sure where is is putting it, if it actually links it.

Thanks,*

Steve

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I’d be glad to help troubleshoot your release build issue! Could you let me know which OS and version you are running, and which hardware platform you’re using? You can run the tdx-info command to get detailed information about your setup - more details at tdx-info documentation.

This information will help me provide the most accurate guidance for your specific configuration.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Software summary

Bootloader: U-Boot

Kernel version: 6.6.94-7.3.0-g5a62539de8f9 #1-Torizon SMP PREEMPT Wed Jun 25 09:14:55 UTC 2025
Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/5c84b03643fe3e8b7be49b13c2171a7f45d0dce855097b9fafed3f75e9260a47/0
Distro name: NAME=“Torizon OS”
Distro version: VERSION_ID=7.3.0-build.18
Distro variant: VARIANT=“Docker”
Hostname: verdin-imx8mp-15132709

Hardware info

HW model: Toradex Verdin iMX8M Plus WB on Verdin Development Board

Toradex version: 0058 V1.1A
Serial number: 15132709
Processor arch: aarch64

Thanks for providing the system information! I can see you’re running Torizon OS 7.3.0-build.18 on a Verdin iMX8M Plus. The error indicates the container can’t find the executable file at the expected location.

Understanding the Container Structure

For release builds, the Torizon IDE Extension uses a multi-stage build process (1). The release container defined by Dockerfile includes:

  • A build container that compiles code (identified by as Build alias)
  • A runtime container that executes on the SoM (identified by as Deploy alias)

The compiled code is copied from the build to the runtime container through a COPY command (1):

COPY --from=Build ${APP_ROOT}/build-${IMAGE_ARCH}/bin ${APP_ROOT}

Troubleshooting Steps

1. Check Your Dockerfile Structure

Verify that your Dockerfile properly copies the executable from the build stage to the runtime stage (1). The APP_ROOT variable is defined in .vscode/settings.json and sets the directory where build files are copied (1).

2. Verify Build Output Location

The build process should place executables in the build-${IMAGE_ARCH}/bin subdirectory (2). For ARM64, this would be build-arm64/bin (2). Check if your Makefile is outputting the executable to this expected location.

3. Check Container Image Build

Since the debug version works but release fails, compare:

  • Your Dockerfile.debug vs Dockerfile
  • Ensure both are copying files from the correct build directories

4. Examine the Multi-stage Build

The multi-stage build guarantees the same environment for compilation and optimizes the container image (1). Make sure your Dockerfile properly defines both the build and deploy stages.

Common Issue Resolution

Based on similar issues in the community (3), verify that your docker-compose.yml and task configurations are properly set up with the correct environment variables and image references.

The fact that debug works suggests your build process is correct, but the release container might not be copying the executable to the expected runtime location.

**


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@eric.tx @ToradexAI
So, after the debug version, there are files in my build-arm64/debug directory that are the object and the executable. When I run the “release” build, there is nothing in the build-arm64/bin build-arm64/obj directories. In fact, if I delete the entire directory, it still builds all the way to the end and fails because there is no executable in the final container. There is no error when it is copying the executable, so I am assuming that it actually works, since I can’t verify anything being inside the container.

Steve