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

add h26forge test #2759

Merged
merged 2 commits into from
Jan 10, 2025
Merged

Conversation

benjamingaignard
Copy link

Create a rootfs with rustc compiler to compile
and run h26forge.
h26forge will generate h264 test files to be parsed with Gstreamer h264parse element.

@benjamingaignard benjamingaignard force-pushed the add_h26forge_tests branch 2 times, most recently from 64837b7 to a135bc0 Compare December 13, 2024 17:00
@nuclearcat
Copy link
Member

024/12/16 11:48:19 apt | Processing triggers for libc-bin (2.36-9+deb12u9) ...
2024/12/16 11:48:19 apt | Processing triggers for initramfs-tools (0.142+deb12u1) ...
2024/12/16 11:48:20 ==== Build testsuite ====
2024/12/16 11:48:20 bookworm-gst-h26forge.sh | sh: 1: /tmp/script/bookworm-gst-h26forge.sh: Permission denied
2024/12/16 11:48:20 Action `Build testsuite` failed at stage Run, error: exit status 126
Powering off.

Please set to bookworm-gst-h26forge.sh executable status as other scripts.

I tried to set manually and got more errors:

2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 10: git: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 11: git: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 17: git: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 19: meson: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 43: ninja: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 44: ninja: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 48: git: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | /tmp/script/bookworm-gst-h26forge.sh: line 50: cargo: command not found
2024/12/16 11:52:06 bookworm-gst-h26forge.sh | can't clone https://github.com/h26forge/h26forge.git
2024/12/16 11:52:06 Action `Build testsuite` failed at stage Run, error: exit status 1

To test recipe on your side you can do following:

git clone https://github.com/kernelci/kernelci-deploy/
cd kernelci-deploy/tools
./kci-rootfs.py --arch arm64 --branch staging-snapshot --name bookworm-gst-h26forge

Then you can do fixes in directory kernelci-core and run command again.

@benjamingaignard benjamingaignard force-pushed the add_h26forge_tests branch 3 times, most recently from 7fb6a5a to 1805af2 Compare December 16, 2024 15:41
@benjamingaignard
Copy link
Author

I have done some progress:

  • scripts access right have been fixed.
  • git, rustc and cargo are added into the image
  • gstreamer is building.
  • h26forge repository is cloned but it failed to build.
    I only got this after calling "cargo build --release"

2024/12/16 16:07:14 bookworm-gst-h26forge.sh | Updating crates.io index
Powering off.
open /tmp/fakemachine-979050014/result: no such file or directory
debos --memory=8G -t architecture:"arm64" -t suite:"bookworm" -t basename:"bookworm-gst-h26forge/arm64" -t extra_packages:"ca-certificates python3-requests python3-yaml rustc unzip wget" -t extra_packages_remove:"bash e2fslibs e2fsprogs klibc-utils libext2fs2 libgnutls30 libklibc libncursesw6 libp11-kit0 libunistring2 sensible-utils" -t extra_files_remove:"" -t extra_firmware:"" -t linux_fw_version:"" -t script:"scripts/bookworm-gst-h26forge.sh" -t test_overlay:"overlays/fluster" -t crush_image_options:"" -t debian_mirror:"" -t keyring_package:"" -t keyring_file:"" -t imagesize:"2GB" --artifactdir=/kernelci-core/temp/20241216.0/install /etc/kernelci/rootfs/debos/rootfs.yaml
Image built successfully
Stopping container kernelci-build-668ecfd0
Removing container kernelci-build-668ecfd0
Container kernelci-build-668ecfd0 stopped

Is there any more to do to build rust code ?
How to get more info/logs about that is happening ?

@nuclearcat
Copy link
Member

Try to increase memory or scratchsize, usually it might be issue.
Debos building code is located in kernelci-core/kernelci/rootfs.py in the DebosBuilder class. You can modify this file to check if there are ways to obtain more debug output, as the debugging capabilities for such issues in KernelCI are currently limited.

Create a rootfs with rustc compiler to compile
and run h26forge.
h26forge will generate h264 test files to be parsed
with Gstreamer h264parse element.

Signed-off-by: Benjamin Gaignard <[email protected]>
@benjamingaignard benjamingaignard marked this pull request as ready for review December 18, 2024 13:18
@benjamingaignard
Copy link
Author

I have success fully build it locally and the test is ok.
I will need help the run it on lava on rk3399 or imx8mq

Copy link
Contributor

@pawiecz pawiecz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Changes look good, I'll have to investigate why the CI checks failed

@benjamingaignard benjamingaignard force-pushed the add_h26forge_tests branch 2 times, most recently from d1e55da to cbbd411 Compare January 9, 2025 15:26
Test is v4l2slh264dec can safely decode the bitstreams
generated by h26forge.

Signed-off-by: Benjamin Gaignard <[email protected]>
@nuclearcat
Copy link
Member

@nuclearcat nuclearcat added this pull request to the merge queue Jan 10, 2025
Merged via the queue into kernelci:main with commit 4b6603d Jan 10, 2025
2 of 4 checks passed
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

Successfully merging this pull request may close these issues.

3 participants