berthubert / simplomon

Very simple monitoring system with a single configuration file
MIT License
97 stars 12 forks source link

Add check for FreeBSD to specify location for doctest #6

Closed nreilly closed 3 months ago

nreilly commented 3 months ago

doctest isn't found on FreeBSD without specifying the directory it lives in. I don't know if this is required in other environments, so the if statement can be expanded as necessary.

For this to work on FreeBSD, you will need to the doctest package (devel/doctest).

This addresses: https://github.com/berthubert/simplomon/issues/5

dch commented 3 months ago

@nreilly are you considering doing a port for this? if not, I'll be happy to do so

nreilly commented 3 months ago

@nreilly are you considering doing a port for this? if not, I'll be happy to do so

I was considering, but have never done one and happy to leave it to someone more experienced.

berthubert commented 3 months ago

I wonder if we are "holding it wrong" here. The solution may work but it feels like we're solving the problem from the wrong end. https://github.com/mesonbuild/meson/issues/4468 also has some discussion.

berthubert commented 3 months ago

From the issue mentioned above "Now this is not a blocker for me right now, because it's easily worked around by pkg install pkgconf" - might that help?

job commented 3 months ago

Tested on Freebsd 14, the following makes meson setup build/ work:

pkg install git meson pkgconf lua53

but actual compiling fails later on for reasons I don't know:

root@freebsd:~/simplomon # meson compile -C build
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/local/bin/ninja -C /root/simplomon/build
ninja: Entering directory `/root/simplomon/build'
[1/11] Compiling C++ object simplomon.p/netmon.cc.o
FAILED: simplomon.p/netmon.cc.o
c++ -Isimplomon.p -I. -I.. -I../subprojects/nlohmann_json-3.11.2/single_include -I../subprojects/fmt-10.1.1/include -Isubprojects/cpp-httplib-0.13.1 -I../subprojects/cpp-httplib-0.13.1 -Isubprojects/simplesockets -I../subprojects/simplesockets -I/usr/local/include/lua53 -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++20 -O0 -g -pthread -DCPPHTTPLIB_OPENSSL_SUPPORT -DCPPHTTPLIB_ZLIB_SUPPORT -MD -MQ simplomon.p/netmon.cc.o -MF simplomon.p/netmon.cc.o.d -o simplomon.p/netmon.cc.o -c ../netmon.cc
In file included from ../netmon.cc:6:
In file included from ../simplomon.hh:6:
In file included from ../notifiers.hh:3:
../sol/sol.hpp:14541:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
../sol/sol.hpp:17294:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
[2/11] Compiling C++ object testrunner.p/notifiers.cc.o
In file included from ../notifiers.cc:1:
In file included from ../notifiers.hh:3:
../sol/sol.hpp:14541:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
../sol/sol.hpp:17294:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
2 warnings generated.
ninja: build stopped: subcommand failed.
nreilly commented 3 months ago

The new code in netmon.cc assumes linux netinet headers/structures and won't compile on FreeBSD without more significant porting than I'm able to do.