Getting started guide && ./src/configure.sh

dave seddon <[email protected]> Thu, 6 Nov 2025 17:28:54 -0800
Newsgroups dev.linux.lists.xdp2
Message-ID <CANypexR+7u9oVp8dP2WM-dXd+h5tOJ4pxqVrPkCy=n_FD2F3AQ@mail.gmail.com>
G'day,

I hope you are doing well

Very exciting to see the Ultra Ethernet protocols being added!

However, I suspect unintended "challenges" were introduced since the
flake.nix was added.

Upon review, I found that actually xdp2 was no longer working on
ubuntu without nix.

This pull request:

- Adds a getting started guide ( note - sample compiles challenges persist )
- Adds an experimental ./src/configure.sh designed as an alternative
to the existing ./src/configure
./src/configure creates a config.mk that works on Ubuntu ( no nix )
using llvm or llvm20. ( The getting started guide explains that Ubuntu
package naming makes supporting different llvm versions tricky.
configure.sh hopefully handles this correctly now. )
- ./src/configure.sh has extensive --debug_level 7 logging
- ./src/configure.sh modifies the test cpp code to support llvm 18 and 20
- Updates various Makefiles to allow the make variables to be passed,
so -j$(nproc) works
- Enforces dependencies, so the builds work with -j$(nproc)

This has been tested with ubuntu24.0.4.3 ( no nix ) using llvm and
llvm20, but I strongly encourage more testing

Happy to discuss

I'm going to keep working on the flake.nix, because it's broken, and
this pull request marks the files as such

https://github.com/xdp2-dev/xdp2/pull/11

-- 
Regards,
Dave Seddon
+1 415 857 5102