xdp-project / xdp-tutorial

XDP tutorial
2.33k stars 562 forks source link

Fix compilation errors for aarch64/arm64 #370

Closed sachintiptur closed 9 months ago

sachintiptur commented 9 months ago

For ARM64/AArch64 based systems, as linux header files reside under architecture specific directories, this PR fixes configure script to include right header files.

tohojo commented 9 months ago

Rather than instructing people to make global changes to their file system, it is better to update the configure script to automatically add the right directory to the include path. We already have such a check in the xdp-tools configure script (look for ARCH_INCLUDES, so it should just be a matter of porting that to the tutorial configure.

Note, that I'm not quite sure if the way we build the arch tuple is actually right in the xdp-tools configure; we may need to switch it to use gcc -print-multiarch or something similar instead. I don't have an ARM box to test on, though...

sachintiptur commented 9 months ago

Rather than instructing people to make global changes to their file system, it is better to update the configure script to automatically add the right directory to the include path. We already have such a check in the xdp-tools configure script (look for ARCH_INCLUDES, so it should just be a matter of porting that to the tutorial configure.

Note, that I'm not quite sure if the way we build the arch tuple is actually right in the xdp-tools configure; we may need to switch it to use gcc -print-multiarch or something similar instead. I don't have an ARM box to test on, though...

Currently xdp-tools is not compiling for ARM64, it needs a minor change, I will raise a PR for the same and then fix here.

sachintiptur commented 9 months ago

A few nits, but otherwise definitely on the right track. I don't suppose you'd care to open a PR for the bpf-examples repo as well? :)

Sure, will take care there too :)

tohojo commented 9 months ago

Could you please squash the commits? And remove the gcc-multilib package from the instructions in setup_dependencies.org as well while you're at it? :)

tohojo commented 9 months ago

Thanks for doing all of these! :)