On 2026/05/21 10:47, Tom Smyth wrote:
> I was talking to Pavel (from fastnetmon) and he responded posively asked
> the following
> "Can you provide summary what's required from our side? "
so, now that we have switched the system compiler in -current to
LLVM 22, unfortunately fastnetmon no longer builds.
it gets this far before failing:
fmt/format-inl.h:2515:30: error: call to consteval function
'fmt::basic_format_string<char, unsigned int
&>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
2515 | out = format_to(out, FMT_STRING("{:x}"), value);
...
fmt/format-inl.h:2519:28: error: call to consteval function
'fmt::basic_format_string<char, unsigned int
&>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
2519 | out = format_to(out, FMT_STRING("{:08x}"), value);
it looks like this maybe due to the workaround that fmt are using
for an old gcc bug, but in any event, checking the version of fmt ...
| fmt/core.h
| 18:// The fmt library version in the form major * 10000 + minor * 100 + patch.
| 19:#define FMT_VERSION 80000
this is rather old, so it would probably be best if fastnetmon updates
to a less ancient version (this is likely to require some code changes
in fastnetmon to make it work but shouldn't be too hard). I believe
there may be some other issues on newer LLVM, at least when fmt is
compiled in C++20 mode (as fastnetmon is requesting).
if Pavel is able to update fmt (or otherwise workaround), I'm happy
to test again and see if we hit any other issues.
there are also non-fatal warnings around nlohmann-json; again,
fastnetmon has an old version and could do with updating. in this case
I think it should just be possible to update to a newer version from
https://github.com/nlohmann/json/tree/develop/single_include/nlohmann
without other changes.