kernelci / kernelci/kernelci-project

Clang is required in GCC docker build images by BPF programs while building kselftests

Open
#431 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
14
Forks
32
Avg merge
1d 1h
Merged PRs (30d)
3

Description

BPF has a separate suite in kselftests. Often BPF tests are present in other suites like in `net`. BPF programs are built with clang by default. Out GCC docker build images don't have clang for obvious reasons. This can cause failures and pollute the kselftests build results.

```
kernelci@b99ec1587430:~/tools/testing/selftests/net$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j `nproc`
/bin/sh: 1: clang: not found
BPF_PROG nat6to4.bpf.o
make: clang: No such file or directory
make: *** [bpf.mk:42: /home/kernelci/tools/testing/selftests/net/nat6to4.bpf.o] Error 127
```

Possibly this should be fixed in kselftests Makefiles. When compiler is the GCC, it should ignore build of BPF programs.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with tools/testing/selftests/net and the reported bpf.mk:42 rule, then inspect the kselftests Makefiles used by GCC Docker build images. Reproduce the failure with the shown make command. Done means the GCC-only image builds the relevant kselftests without requiring clang or producing clang-not-found failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, linux
Domain
build-system, operating-systems, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.