The "statgrab" job builds collectd with the "statgrab" library and then expects
certain plugins to be linked against it. However, since the build runs on
Linux, the plugins are actually using the "native" implementation. The linker,
noticing that the plugin is not referring to any symbol in the statgrab
library, does not actually produce a link, causing the test to fail.
The native implementations provide much richer metrics than the libstatgrab
based implementations, so we'll drop the test.
make_check_artifacts:
path: "**/*.log"
- # build against libstatgrab, should always pass
- - env:
- LABEL: statgrab
- allow_failures: false
- skip_notifications: false
- configure_script:
- - ./build.sh
- - gcc --version
- - >
- ./configure --with-libstatgrab --enable-debug
- CFLAGS="$(dpkg-buildflags --get CFLAGS)"
- CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
- LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
- build_script:
- - make -j$(nproc) -sk
- tests_script:
- - >
- for i in cpu disk interface load memory swap users; do
- if ! $(ldd ".libs/${i}.so" 2>/dev/null | grep -q 'libstatgrab.so'); then
- echo "plugin $i NOT linked against libstatgrab"
- exit 1
- fi
- done
-
# build using clang with a collection of strict build flags, will most
# probably always fail
- env: