Skip to content

Conversation

@shvbsle
Copy link
Contributor

@shvbsle shvbsle commented Nov 21, 2025

Issue #, if available:
N/A - improvement for ARM64 compatibility.
This test kept failing when doing a pip install moderngl:

error:
Building wheels for collected packages: moderngl, glcontext
  Building wheel for moderngl (pyproject.toml): started
  Building wheel for moderngl (pyproject.toml): finished with status 'done'
  Created wheel for moderngl: filename=moderngl-5.12.0-cp310-cp310-linux_aarch64.whl size=264589 sha256=4a19e998b601f71f28af65b38c85002c4e7510a73a6a3e14218ca29008518dcd
  Stored in directory: /root/.cache/pip/wheels/bf/26/e6/2401989de46dc67e4a75e592c0676192413d047bc1d0fa239c
  Building wheel for glcontext (pyproject.toml): started
  Building wheel for glcontext (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
  × Building wheel for glcontext (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [17 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-3.10
      creating build/lib.linux-aarch64-3.10/glcontext
      copying glcontext/__init__.py -> build/lib.linux-aarch64-3.10/glcontext
      copying glcontext/empty.py -> build/lib.linux-aarch64-3.10/glcontext
      running build_ext
      creating build/temp.linux-aarch64-3.10
      creating build/temp.linux-aarch64-3.10/glcontext
      aarch64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.10 -c glcontext/x11.cpp -o build/temp.linux-aarch64-3.10/glcontext/x11.o -fpermissive
      glcontext/x11.cpp:5:10: fatal error: X11/Xlib.h: No such file or directory
5 | #include <X11/Xlib.h>
            |          ^~~~~~~~~~~~
      compilation terminated.
error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
      [end of output]
  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for glcontext
Successfully built moderngl
Failed to build glcontext
ERROR: Could not build wheels for glcontext, which is required to install pyproject.toml-based projects

Description of changes:
Fixed ARM64 compatibility issue in NVIDIA driver capabilities test by updating Mesa library packages from runtime to development versions. Changed libegl1-mesa to libegl1-mesa-dev and libgles2-mesa to libgles2-mesa-dev in the test manifest. The ModernGL library compilation was failing on ARM64 AMI because it requires OpenGL development headers (.h files) that are only included in the -dev packages. This change ensures the test passes on both ARM64 and x86_64 architectures. We could have added the Xlib as well but adding did not want to add newer dependencies and adding -dev packages is cleaner.

Testing done

On an arm64 instance:

> go test -v -tags=e2e ./test/cases/nvidia/... -timeout=0 -args \
    --test.timeout=30m \
    --test.v \
    --test.run=TestNvidiaDriverCapabilities/nvidia-driver-capabilities-check \
    -efaEnabled=true \
    -nvidiaTestImage=${AWS_ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/${IMAGE_NAMe}

2025/11/20 22:42:35 No node type specified. Using the node type <node> in the node groups.
=== RUN   TestNvidiaDriverCapabilities
=== RUN   TestNvidiaDriverCapabilities/nvidia-driver-capabilities-check
    capabilities_test.go:35: Applying nvidia driver capabilities check pod manifest.
=== RUN   TestNvidiaDriverCapabilities/nvidia-driver-capabilities-check/Check_Pod_becomes_ready
    capabilities_test.go:44: Waiting up to 5 minute for pod to complete...
    capabilities_test.go:61: nvidia driver capabilities check succeeded.
=== NAME  TestNvidiaDriverCapabilities/nvidia-driver-capabilities-check
    capabilities_test.go:65: Removing nvidia driver capabilities check pod.
    capabilities_test.go:69: all test resources removed successfully.
--- PASS: TestNvidiaDriverCapabilities (110.18s)
    --- PASS: TestNvidiaDriverCapabilities/nvidia-driver-capabilities-check (110.18s)
        --- PASS: TestNvidiaDriverCapabilities/nvidia-driver-capabilities-check/Check_Pod_becomes_ready (110.01s)
PASS
ok      github.com/aws/aws-k8s-tester/test/cases/nvidia 127.728s

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@shvbsle shvbsle merged commit 345110a into aws:main Nov 21, 2025
10 checks passed
@shvbsle shvbsle deleted the modernglfix branch November 21, 2025 21:57
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.

2 participants