Hi folks,
after Stuarts feedback the following is my fastnetmon check and restart script ,
mitigate1# crontab -l
#minute hour mday month wday [flags] command
#
* * * * * /bin/ksh /usr/local/sbin/fastnetmon-check
#minute hour mday month wday [flags] command
#
* * * * * /bin/ksh /usr/local/sbin/fastnetmon-check
#!/sbin/ksh -
#
#check if fastnetmon is installed and enabled
[ -e /etc/rc.d/fastnetmon ] || exit 0
[[ $(rcctl get fastnetmon flags) == NO ]] && exit 0
if ! pgrep -q ^fastnetmon$; then
rcctl restart fastnetmon
logger -t fastnetmon-check 'not running, restarted'
fi
#
#check if fastnetmon is installed and enabled
[ -e /etc/rc.d/fastnetmon ] || exit 0
[[ $(rcctl get fastnetmon flags) == NO ]] && exit 0
if ! pgrep -q ^fastnetmon$; then
rcctl restart fastnetmon
logger -t fastnetmon-check 'not running, restarted'
fi
#######################################
the script logs nicely to /var/log/messages
Jun 1 17:33:01 mitigate1 fastnetmon-check: not running, restarted
Jun 1 17:35:01 mitigate1 fastnetmon-check: not running, restarted
Jun 1 17:45:01 mitigate1 fastnetmon-check: not running, restarted
Jun 1 17:35:01 mitigate1 fastnetmon-check: not running, restarted
Jun 1 17:45:01 mitigate1 fastnetmon-check: not running, restarted
On Sat, 30 May 2026 at 15:36, Stuart Henderson <stu@spacehopper.org> wrote:
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.
Kindest regards,
Tom Smyth.
Tom Smyth.
No comments:
Post a Comment