Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building Netdata v1.45.3 from Source and Packaging into Debian Package #17421

Open
fti-sfuke opened this issue Apr 16, 2024 · 5 comments
Open
Labels

Comments

@fti-sfuke
Copy link

fti-sfuke commented Apr 16, 2024

Bug description

We are looking to upgrade Netdata with a build from source code from version 1.31.0 to version 1.45.3 and then package it into a Debian package (.deb).

We are following the below netdata build process documentation:
https://learn.netdata.cloud/docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/compile-from-source-code

We have successfully accomplished this task for Netdata v1.31.0, but I'm encountering some challenges when attempting to adapt it for the newer version. Specifically, I'm unsure about the necessary adjustments required for the new version, such as changes in dependencies, build processes, or configuration options.

And the following files and directories are not available in the latest version: 
image

Please check here for the directory list available in the v1.45.3 source code.

root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# git branch
* (HEAD detached at v1.45.3)
  master
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# ls
CHANGELOG.md	CMakeFiles	contrib     docs	  LICENSE		netdata.spec.in  README.md	   src	   tests
CMakeCache.txt	CMakeLists.txt	Dockerfile  integrations  netdata-installer.sh	packaging	 REDISTRIBUTED.md  system

And here is the directory list available in the v1.31.0 source code.
Here, most of the files are available that we used to perform build and make purposes. I tried to find these directories and files.
inside the latest v1.31.0 source code but was unable to find out.

root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# git branch
* (HEAD detached at v1.31.0)
  master
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# ls
aclk		     build_external  compile		 configure	   diagrams		    libnetdata	     netdatacli		   packaging	     slabinfo.plugin  web
aclocal.m4	     BUILD.md	     config.guess	 configure.ac	   Dockerfile		    LICENSE	     netdata.cppcheck	   parser	     spawn
apps.plugin	     cgroup-network  config.h		 contrib	   Dockerfile.test	    Makefile	     netdata-installer.sh  perf.plugin	     stamp-h1
autom4te.cache	     CHANGELOG.md    config.h.in	 coverity-scan.sh  docs			    Makefile.am      netdata.spec.BAK	   postinstall-pak   streaming
backends	     claim	     config.log		 cppcheck.sh	   exporting		    Makefile.in      netdata.spec.in	   preremove-pak     system
BREAKING_CHANGES.md  cli	     configs.signatures  daemon		   health		    missing	     nfacct.plugin	   README.md	     test-driver
build		     CMakeLists.txt  config.status	 database	   HISTORICAL_CHANGELOG.md  mqtt_websockets  package.json	   REDISTRIBUTED.md  tests
build-artifacts.sh   collectors      config.sub		 depcomp	   install-sh		    netdata	     package-lock.json	   registry	     test-suite.log
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata#

Issue :

  • autoreconf: error: 'configure.ac' is required
  • Unable to execute ./configure
  • make failed
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# git branch
* (HEAD detached at v1.45.3)
  master
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# ls
CHANGELOG.md  CMakeLists.txt  contrib  Dockerfile  docs  integrations  LICENSE	netdata-installer.sh  netdata.spec.in  packaging  README.md  REDISTRIBUTED.md  src  system  tests
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# autoreconf -ivf
autoreconf: export WARNINGS=
autoreconf: error: 'configure.ac' is required
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# ./configure
-bash: ./configure: No such file or directory
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# [ -e ./configure ] || autoreconf -fi
autoreconf: error: 'configure.ac' is required
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# ./configure
-bash: ./configure: No such file or directory
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# time make -j8
make: *** No targets specified and no makefile found.  Stop.

real	0m0.005s
user	0m0.001s
sys	0m0.000s
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata

Expected behavior

autoreconf -fi must be executed :

root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# git branch
* (HEAD detached at v1.31.0)
  master
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# ls
aclk		     build_external  compile		 configure	   diagrams		    libnetdata	     netdatacli		   packaging	     slabinfo.plugin  web
aclocal.m4	     BUILD.md	     config.guess	 configure.ac	   Dockerfile		    LICENSE	     netdata.cppcheck	   parser	     spawn
apps.plugin	     cgroup-network  config.h		 contrib	   Dockerfile.test	    Makefile	     netdata-installer.sh  perf.plugin	     stamp-h1
autom4te.cache	     CHANGELOG.md    config.h.in	 coverity-scan.sh  docs			    Makefile.am      netdata.spec.BAK	   postinstall-pak   streaming
backends	     claim	     config.log		 cppcheck.sh	   exporting		    Makefile.in      netdata.spec.in	   preremove-pak     system
BREAKING_CHANGES.md  cli	     configs.signatures  daemon		   health		    missing	     nfacct.plugin	   README.md	     test-driver
build		     CMakeLists.txt  config.status	 database	   HISTORICAL_CHANGELOG.md  mqtt_websockets  package.json	   REDISTRIBUTED.md  tests
build-artifacts.sh   collectors      config.sub		 depcomp	   install-sh		    netdata	     package-lock.json	   registry	     test-suite.log
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# [ -e ./configure ] || run autoreconf -fi
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# chmod +x ./configure
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# time ./configure --prefix=/opt/scorer/ --disable-cloud
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking for cmocka... no
configure: CMocka not found on the system. Unit tests disabled
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating netdata.spec
config.status: creating backends/graphite/Makefile
config.status: creating backends/json/Makefile
config.status: creating backends/Makefile
config.status: creating backends/opentsdb/Makefile
config.status: creating backends/prometheus/Makefile
config.status: creating backends/prometheus/remote_write/Makefile
config.status: creating backends/aws_kinesis/Makefile
config.status: creating backends/mongodb/Makefile
config.status: creating collectors/Makefile
config.status: creating collectors/apps.plugin/Makefile
config.status: creating collectors/cgroups.plugin/Makefile
config.status: creating collectors/charts.d.plugin/Makefile
config.status: creating collectors/checks.plugin/Makefile
config.status: creating collectors/diskspace.plugin/Makefile
config.status: creating collectors/timex.plugin/Makefile
config.status: creating collectors/fping.plugin/Makefile
config.status: creating collectors/ioping.plugin/Makefile
config.status: creating collectors/freebsd.plugin/Makefile
config.status: creating collectors/freeipmi.plugin/Makefile
config.status: creating collectors/cups.plugin/Makefile
config.status: creating collectors/idlejitter.plugin/Makefile
config.status: creating collectors/macos.plugin/Makefile
config.status: creating collectors/nfacct.plugin/Makefile
config.status: creating collectors/node.d.plugin/Makefile
config.status: creating collectors/plugins.d/Makefile
config.status: creating collectors/proc.plugin/Makefile
config.status: creating collectors/python.d.plugin/Makefile
config.status: creating collectors/slabinfo.plugin/Makefile
config.status: creating collectors/statsd.plugin/Makefile
config.status: creating collectors/ebpf.plugin/Makefile
config.status: creating collectors/tc.plugin/Makefile
config.status: creating collectors/xenstat.plugin/Makefile
config.status: creating collectors/perf.plugin/Makefile
config.status: creating daemon/Makefile
config.status: creating database/Makefile
config.status: creating database/engine/Makefile
config.status: creating database/engine/metadata_log/Makefile
config.status: creating diagrams/Makefile
config.status: creating exporting/Makefile
config.status: creating exporting/graphite/Makefile
config.status: creating exporting/json/Makefile
config.status: creating exporting/opentsdb/Makefile
config.status: creating exporting/prometheus/Makefile
config.status: creating exporting/prometheus/remote_write/Makefile
config.status: creating exporting/aws_kinesis/Makefile
config.status: creating exporting/pubsub/Makefile
config.status: creating exporting/mongodb/Makefile
config.status: creating exporting/tests/Makefile
config.status: creating health/Makefile
config.status: creating health/notifications/Makefile
config.status: creating libnetdata/Makefile
config.status: creating libnetdata/tests/Makefile
config.status: creating libnetdata/adaptive_resortable_list/Makefile
config.status: creating libnetdata/avl/Makefile
config.status: creating libnetdata/buffer/Makefile
config.status: creating libnetdata/clocks/Makefile
config.status: creating libnetdata/config/Makefile
config.status: creating libnetdata/dictionary/Makefile
config.status: creating libnetdata/ebpf/Makefile
config.status: creating libnetdata/eval/Makefile
config.status: creating libnetdata/locks/Makefile
config.status: creating libnetdata/log/Makefile
config.status: creating libnetdata/popen/Makefile
config.status: creating libnetdata/procfile/Makefile
config.status: creating libnetdata/simple_pattern/Makefile
config.status: creating libnetdata/socket/Makefile
config.status: creating libnetdata/statistical/Makefile
config.status: creating libnetdata/storage_number/Makefile
config.status: creating libnetdata/storage_number/tests/Makefile
config.status: creating libnetdata/threads/Makefile
config.status: creating libnetdata/url/Makefile
config.status: creating libnetdata/json/Makefile
config.status: creating libnetdata/health/Makefile
config.status: creating registry/Makefile
config.status: creating streaming/Makefile
config.status: creating system/Makefile
config.status: creating tests/Makefile
config.status: creating web/Makefile
config.status: creating web/api/Makefile
config.status: creating web/api/badges/Makefile
config.status: creating web/api/exporters/Makefile
config.status: creating web/api/exporters/shell/Makefile
config.status: creating web/api/exporters/prometheus/Makefile
config.status: creating web/api/formatters/Makefile
config.status: creating web/api/formatters/csv/Makefile
config.status: creating web/api/formatters/json/Makefile
config.status: creating web/api/formatters/ssv/Makefile
config.status: creating web/api/formatters/value/Makefile
config.status: creating web/api/queries/Makefile
config.status: creating web/api/queries/average/Makefile
config.status: creating web/api/queries/des/Makefile
config.status: creating web/api/queries/incremental_sum/Makefile
config.status: creating web/api/queries/max/Makefile
config.status: creating web/api/queries/median/Makefile
config.status: creating web/api/queries/min/Makefile
config.status: creating web/api/queries/ses/Makefile
config.status: creating web/api/queries/stddev/Makefile
config.status: creating web/api/queries/sum/Makefile
config.status: creating web/api/health/Makefile
config.status: creating web/gui/Makefile
config.status: creating web/gui/dashboard/Makefile
config.status: creating web/server/Makefile
config.status: creating web/server/static/Makefile
config.status: creating claim/Makefile
config.status: creating aclk/legacy/Makefile
config.status: creating spawn/Makefile
config.status: creating parser/Makefile
config.status: creating config.h
config.status: executing depfiles commands

real	0m4.415s
user	0m3.686s
sys	0m1.126s

time make must be executed :

root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# AD_HW_CORES=$(nproc)
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Downloads/netdata# time make -j$AD_HW_CORES
make  all-recursive
make[1]: Entering directory '/root/samadhan/Downloads/netdata'
Making all in diagrams
make[2]: Entering directory '/root/samadhan/Downloads/netdata/diagrams'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/samadhan/Downloads/netdata/diagrams'
Making all in system
make[2]: Entering directory '/root/samadhan/Downloads/netdata/system'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/samadhan/Downloads/netdata/system'
Making all in tests
make[2]: Entering directory '/root/samadhan/Downloads/netdata/tests'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/samadhan/Downloads/netdata/tests'
Making all in backends
make[2]: Entering directory '/root/samadhan/Downloads/netdata/backends'
Making all in graphite
make[3]: Entering directory '/root/samadhan/Downloads/netdata/backends/graphite'

make[3]: Leaving directory '/root/samadhan/Downloads/netdata'
make  check-TESTS
make[3]: Entering directory '/root/samadhan/Downloads/netdata'
make[4]: Entering directory '/root/samadhan/Downloads/netdata'
============================================================================
Testsuite summary for netdata v1.31.0
============================================================================
# TOTAL: 0
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/root/samadhan/Downloads/netdata'
make[3]: Leaving directory '/root/samadhan/Downloads/netdata'
make[2]: Leaving directory '/root/samadhan/Downloads/netdata'
make[1]: Leaving directory '/root/samadhan/Downloads/netdata'

real	0m1.291s
user	0m1.184s
sys	0m0.118s

Steps to reproduce

1.Installed required dependencies
2. Git Clone https://github.com/netdata/netdata
3. Checkout tag v1.45.3
Steps :

.root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# git branch
* (HEAD detached at v1.45.3)
  master
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# autoreconf -ivf
autoreconf: export WARNINGS=
autoreconf: error: 'configure.ac' is required
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata#  [ -e ./configure ] || run autoreconf -fi
-bash: run: command not found
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata#  [ -e ./configure ] || autoreconf -fi
autoreconf: error: 'configure.ac' is required
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# chmod +x ./configure
chmod: cannot access './configure': No such file or directory
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# ./configure
-bash: ./configure: No such file or directory

Installation method

from source

System info

root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# 

root@DEB-NUC11PAH-G6PA2500045B:~/samadhan/Latest_Netdata/netdata# uname -a
Linux DEB-NUC11PAH-G6PA2500045B 6.5.0-0.deb12.4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.10-1~bpo12+1 (2023-11-23) x86_64 GNU/Linux

Netdata build info

Installation did not succeed.

Additional info

We have prepared a one-shell script to build netdata from source and package it into the Debian package.
Please note that it works perfectly for v1.31.0 but does not work for the latest source code, v1.45.3.
I have added complete successful installation logs for the following script.

Building_Netdata _from v1.31.0 Installation_logs.txt

#!/bin/bash
RELEASE="`date "+%Y%m%d"`"
INSTALL_PREFIX=/opt/samadhan
NETDATA_PKG_NAME=netdata
NETDATA_GIT_REPO=https://github.com/firehol/netdata.git
NETDATA_BRANCH=master
NETDATA_TAG=v1.31.0 
NETDATA_LICENSE=GPLv3
NETDATA_CONF_FILE=$INSTALL_PREFIX/etc/netdata/netdata.conf

GO_PLUGINS_PKG_NAME=go.d.plugin
GO_PLUGINS_PKG_VER=v0.28.1
GO_PLUGINS_PREFIX=${GO_PLUGINS_PKG_NAME}-${GO_PLUGINS_PKG_VER}.linux
GO_PLUGINS_TGZ_X64_URL=https://github.com/netdata/${GO_PLUGINS_PKG_NAME}/releases/download/${GO_PLUGINS_PKG_VER}/${GO_PLUGINS_PREFIX}-amd64.tar.gz
DOWNLOAD_DIR=/root/samadhan/Downloads

build_pkg()
{

    MODULE="$1"
    SOURCE_DIR="$1"
    GIT_REPO="$2"
    BRANCH="$3"  run 
    TAG="$4"
    LICENSE="$5"
    CLEAN="$6"

    git clone --single-branch --branch $BRANCH $GIT_REPO $SOURCE_DIR
    pushd "$SOURCE_DIR"
    git checkout --detach $TAG

    # Obtain the version
    VERSION="`git describe --tags | tail -1`"
    [ -n "$VERSION" ] || VERSION="1.0"
    VERSION=${VERSION%%-*}
    VERSION=${VERSION#v}

    # Configure
    [ -e ./configure ] ||  autoreconf -fi
    chmod +x ./configure

    # Disable netdata cloud to remove progress bar while launching the netdata
    time ./configure --prefix=/opt/samadhan --disable-cloud "$@"

    # Build
    AD_HW_CORES=$(nproc) #8 
    time make -j$AD_HW_CORES

    # Test
    time make -j$AD_HW_CORES check

    # Remove the spec file which confuses checkinstall cammand
    for spec in "${MODULE}"*.spec
    do mv $spec $spec.BAK
    done


    # Install go.d.plugin for filecheck module
    PLUGINS_DIR="$INSTALL_PREFIX/libexec/netdata/plugins.d"
    GO_PLUGINS_TGZ_URL="${GO_PLUGINS_TGZ_X64_URL}"
    GO_PLUGINS_PREFIX="${GO_PLUGINS_PREFIX}-amd64"

    wget_retry -q --timeout 10 -O ${DOWNLOAD_DIR}/${GO_PLUGINS_PREFIX}.tgz $GO_PLUGINS_TGZ_URL
    [ -e ${DOWNLOAD_DIR}/${GO_PLUGINS_PREFIX}.tgz ]
    tar -xzpf ${DOWNLOAD_DIR}/${GO_PLUGINS_PREFIX}.tgz -C $DOWNLOAD_DIR

    mv -f ${DOWNLOAD_DIR}/$GO_PLUGINS_PREFIX $INSTALL_PREFIX/libexec/netdata/plugins.d/$GO_PLUGINS_PKG_NAME

    make_pkg --pkgname samadhan-$MODULE \
                 --pkgversion $VERSION \
                 --pkgrelease $RELEASE \
                 --pkglicense $LICENSE \
                 --pkgsource $GIT_REPO \
                 --docdir $DOCDIR_PREFIX \
                 $CHECKINSTALL_SCRIPT

    dpkg -i samadhan-${MODULE}_${VERSION}-${RELEASE}_*.deb

    mv -f scorer-${MODULE}_${VERSION}-${RELEASE}_*.deb \
        "$PACKAGE_REPO_DIR"

    popd
}

CFLAGS="$CPPFLAGS"
export CFLAGS LD_LIBRARY_PATH

build_pkg $NETDATA_PKG_NAME $NETDATA_GIT_REPO $NETDATA_BRANCH \
        $NETDATA_TAG $NETDATA_LICENSE "$@" \
        --with-user=$NETDATA_USER \
        --sysconfdir="$INSTALL_PREFIX/etc" \
        --localstatedir="$INSTALL_PREFIX" \
        --with-zlib --with-math \
        --with-jemalloc="$INSTALL_PREFIX" \
        --enable-https \
        --enable-plugin-nfacct      # This requires root privilege

If anyone has experience with building Netdata from source or packaging software into Debian packages, I would greatly appreciate any insights, tips, or guidance you can provide.

@fti-sfuke fti-sfuke added bug needs triage Issues which need to be manually labelled labels Apr 16, 2024
@ilyam8 ilyam8 added question and removed bug needs triage Issues which need to be manually labelled labels Apr 16, 2024
@Ferroin
Copy link
Member

Ferroin commented Apr 16, 2024

See https://github.com/netdata/netdata/releases/tag/v1.45.0#v1450-new-build-infra

https://github.com/netdata/netdata/releases/tag/v1.45.0#v1450-go-plugin-moved is probably also of particular interest to you (you won’t need any of the special handling for the Go plugin anymore, just a Go toolchain supporting Go 1.21 or newer).

It is highly recommended that anybody trying to build things themselves read the release notes, even aside from this specific case.

@artiommocrenco
Copy link

@Ferroin I believe the confusion comes from this document , which you can find linked in the README

@artiommocrenco
Copy link

I tried building myself for archlinux, initially thought it would be easy to change this outdated PKGBUILD, but found the netdata build process documentation no longer being correct

@fti-sfuke
Copy link
Author

@Ferroin Sir,
I am following this Manually build Netdata from source documentation.

Followed steps :

  1. Clone the netdata and checkout v1.45.0
    a) git clone https://github.com/netdata/netdata
    b) cd netdata/
    c) git checkout v1.45.0
  2. Installed required dependencies that mentioned here
  3. Preparing the source tree
root@DEB-SystemPr-f02f74f2a148:~/netdata# cmake -DBUILD_SHARED_LIBS=OFF .
-- Found Git: /usr/bin/git (found version "2.39.2") 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Determining minimum required version of Go for this build
-- Minimum required Go version determined to be 1.21
-- Found Go: /usr/local/go/bin/go (found suitable version "1.22.0", minimum required is "1.21") 
-- Performing Test HAVE_C__fstack_protector_strong
-- Performing Test HAVE_C__fstack_protector_strong - Success
-- Performing Test HAVE_CXX__fstack_protector_strong
-- Performing Test HAVE_CXX__fstack_protector_strong - Success
-- Performing Test HAVE_C__D_FORTIFY_SOURCE_3
-- Performing Test HAVE_C__D_FORTIFY_SOURCE_3 - Success
-- Performing Test HAVE_CXX__D_FORTIFY_SOURCE_3
-- Performing Test HAVE_CXX__D_FORTIFY_SOURCE_3 - Success
-- Performing Test HAVE_C__fstack_clash_protection
-- Performing Test HAVE_C__fstack_clash_protection - Success
-- Performing Test HAVE_CXX__fstack_clash_protection
-- Performing Test HAVE_CXX__fstack_clash_protection - Success
-- Performing Test HAVE_C__fcf_protection_full
-- Performing Test HAVE_C__fcf_protection_full - Success
-- Performing Test HAVE_CXX__fcf_protection_full
-- Performing Test HAVE_CXX__fcf_protection_full - Success
-- Performing Test HAVE_C__mbranch_protection_standard
-- Performing Test HAVE_C__mbranch_protection_standard - Failed
-- Performing Test HAVE_CXX__mbranch_protection_standard
-- Performing Test HAVE_CXX__mbranch_protection_standard - Failed
-- Performing Test HAVE_C__ffunction_sections
-- Performing Test HAVE_C__ffunction_sections - Success
-- Performing Test HAVE_CXX__ffunction_sections
-- Performing Test HAVE_CXX__ffunction_sections - Success
-- Performing Test HAVE_C__fdata_sections
-- Performing Test HAVE_C__fdata_sections - Success
-- Performing Test HAVE_CXX__fdata_sections
-- Performing Test HAVE_CXX__fdata_sections - Success
-- Looking for log10
-- Looking for log10 - not found
-- Looking for log10
-- Looking for log10 - found
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.2.5
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for resolv.h
-- Looking for resolv.h - found
-- Looking for netdb.h
-- Looking for netdb.h - found
-- Looking for sys/prctl.h
-- Looking for sys/prctl.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/vfs.h
-- Looking for sys/vfs.h - found
-- Looking for sys/statfs.h
-- Looking for sys/statfs.h - found
-- Looking for linux/magic.h
-- Looking for linux/magic.h - found
-- Looking for sys/mount.h
-- Looking for sys/mount.h - found
-- Looking for sys/statvfs.h
-- Looking for sys/statvfs.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for sys/capability.h
-- Looking for sys/capability.h - not found
-- Looking for snappy_compress in snappy
-- Looking for snappy_compress in snappy - not found
-- Looking for major
-- Looking for major - found
-- Looking for major
-- Looking for major - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for finite
-- Looking for finite - found
-- Looking for isfinite
-- Looking for isfinite - found
-- Looking for dlsym
-- Looking for dlsym - found
-- Looking for nice
-- Looking for nice - found
-- Looking for recvmmsg
-- Looking for recvmmsg - found
-- Looking for getpriority
-- Looking for getpriority - found
-- Looking for sched_getscheduler
-- Looking for sched_getscheduler - found
-- Looking for sched_setscheduler
-- Looking for sched_setscheduler - found
-- Looking for sched_get_priority_min
-- Looking for sched_get_priority_min - found
-- Looking for sched_get_priority_max
-- Looking for sched_get_priority_max - found
-- Looking for close_range
-- Looking for close_range - found
-- Looking for backtrace
-- Looking for backtrace - found
-- Performing Test HAVE_PTHREAD_GETNAME_NP
-- Performing Test HAVE_PTHREAD_GETNAME_NP - Success
-- Performing Test HAVE_C__GENERIC
-- Performing Test HAVE_C__GENERIC - Success
-- Performing Test HAVE_C_MALLOPT
-- Performing Test HAVE_C_MALLOPT - Success
-- Performing Test HAVE_ACCEPT4
-- Performing Test HAVE_ACCEPT4 - Success
-- Performing Test STRERROR_R_CHAR_P
-- Performing Test STRERROR_R_CHAR_P - Success
-- Performing Test HAVE_SETNS
-- Performing Test HAVE_SETNS - Success
-- Performing Test HAVE_BUILTIN_ATOMICS
-- Performing Test HAVE_BUILTIN_ATOMICS - Success
-- Performing Test HAVE_FUNC_ATTRIBUTE_FORMAT
-- Performing Test HAVE_FUNC_ATTRIBUTE_FORMAT - Success
-- Performing Test HAVE_FUNC_ATTRIBUTE_MALLOC
-- Performing Test HAVE_FUNC_ATTRIBUTE_MALLOC - Success
-- Performing Test HAVE_FUNC_ATTRIBUTE_NOINLINE
-- Performing Test HAVE_FUNC_ATTRIBUTE_NOINLINE - Success
-- Performing Test HAVE_FUNC_ATTRIBUTE_NORETURN
-- Performing Test HAVE_FUNC_ATTRIBUTE_NORETURN - Success
-- Performing Test HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL
-- Performing Test HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL - Success
-- Performing Test HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT
-- Performing Test HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT - Success
-- Checking for module 'libcrypto'
--   Found libcrypto, version 3.0.11
-- Checking for module 'openssl'
--   Found openssl, version 3.0.11
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Could not find Protobuf using Config mode, falling back to Module mode
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.a (found version "3.21.12") 
-- Checking for module 'libsystemd'
--   Found libsystemd, version 252
-- Performing Test HAVE_SD_JOURNAL_OS_ROOT
-- Performing Test HAVE_SD_JOURNAL_OS_ROOT - Success
-- Looking for sd_journal_open_files_fd
-- Looking for sd_journal_open_files_fd - found
-- Looking for sd_journal_restart_fields
-- Looking for sd_journal_restart_fields - found
-- Looking for sd_journal_get_seqnum
-- Looking for sd_journal_get_seqnum - not found
-- Looking for sd_bus_default_system
-- Looking for sd_bus_default_system - found
-- Looking for sd_bus_call_method
-- Looking for sd_bus_call_method - found
-- Looking for sd_bus_message_enter_container
-- Looking for sd_bus_message_enter_container - found
-- Looking for sd_bus_message_read
-- Looking for sd_bus_message_read - found
-- Looking for sd_bus_message_exit_container
-- Looking for sd_bus_message_exit_container - found
-- Checking for module 'libelf'
--   Found libelf, version 0.188
-- Checking for module 'json-c'
--   Found json-c, version 0.16
-- Checking for module 'zlib'
--   Found zlib, version 1.2.13
-- Checking for module 'liblz4>=1.9.0'
--   Found liblz4, version 1.9.4
-- Checking for module 'libzstd'
--   Found libzstd, version 1.5.4
-- Checking for modules 'libbrotlidec;libbrotlienc;libbrotlicommon'
--   Package 'libbrotlidec', required by 'virtual:world', not found
--   Package 'libbrotlienc', required by 'virtual:world', not found
--   Package 'libbrotlicommon', required by 'virtual:world', not found
-- Checking for module 'uuid'
--   Found uuid, version 2.38.1
-- Checking for module 'libuv'
--   Found libuv, version 1.44.2
-- Checking for module 'libmnl'
--   Found libmnl, version 1.0.4
-- Checking for module 'libipmimonitoring'
--   Package 'libipmimonitoring', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:607 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
  CMakeLists.txt:1712 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/root/netdata/CMakeFiles/CMakeOutput.log".
See also "/root/netdata/CMakeFiles/CMakeError.log".
root@DEB-SystemPr-f02f74f2a148:~/netdata# apt-get install libipmimonitoring
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libipmimonitoring
root@DEB-SystemPr-f02f74f2a148:~/netdata# sudo apt-get install libvlccore-dev
sudo apt-get install libvlc-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libidn12 libproxy-tools libproxy1v5 libvlccore9
The following NEW packages will be installed:
  libidn12 libproxy-tools libproxy1v5 libvlccore-dev libvlccore9
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 897 kB of archives.
After this operation, 2,741 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bookworm/main amd64 libidn12 amd64 1.41-1 [83.8 kB]
Get:2 http://deb.debian.org/debian bookworm/main amd64 libproxy1v5 amd64 0.4.18-1.2 [56.2 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 libproxy-tools amd64 0.4.18-1.2 [11.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 libvlccore9 amd64 3.0.20-0+deb12u1 [504 kB]
Get:5 http://deb.debian.org/debian bookworm/main amd64 libvlccore-dev amd64 3.0.20-0+deb12u1 [242 kB]
Fetched 897 kB in 0s (2,614 kB/s)       
Selecting previously unselected package libidn12:amd64.
(Reading database ... 101409 files and directories currently installed.)
Preparing to unpack .../libidn12_1.41-1_amd64.deb ...
Unpacking libidn12:amd64 (1.41-1) ...
Selecting previously unselected package libproxy1v5:amd64.
Preparing to unpack .../libproxy1v5_0.4.18-1.2_amd64.deb ...
Unpacking libproxy1v5:amd64 (0.4.18-1.2) ...
Selecting previously unselected package libproxy-tools.
Preparing to unpack .../libproxy-tools_0.4.18-1.2_amd64.deb ...
Unpacking libproxy-tools (0.4.18-1.2) ...
Selecting previously unselected package libvlccore9:amd64.
Preparing to unpack .../libvlccore9_3.0.20-0+deb12u1_amd64.deb ...
Unpacking libvlccore9:amd64 (3.0.20-0+deb12u1) ...
Selecting previously unselected package libvlccore-dev:amd64.
Preparing to unpack .../libvlccore-dev_3.0.20-0+deb12u1_amd64.deb ...
Unpacking libvlccore-dev:amd64 (3.0.20-0+deb12u1) ...
Setting up libproxy1v5:amd64 (0.4.18-1.2) ...
Setting up libidn12:amd64 (1.41-1) ...
Setting up libvlccore9:amd64 (3.0.20-0+deb12u1) ...
Setting up libvlccore-dev:amd64 (3.0.20-0+deb12u1) ...
Setting up libproxy-tools (0.4.18-1.2) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+deb12u4) ...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libvlc-bin libvlc5
The following NEW packages will be installed:
  libvlc-bin libvlc-dev libvlc5
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 361 kB of archives.
After this operation, 884 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bookworm/main amd64 libvlc5 amd64 3.0.20-0+deb12u1 [139 kB]
Get:2 http://deb.debian.org/debian bookworm/main amd64 libvlc-bin amd64 3.0.20-0+deb12u1 [91.2 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 libvlc-dev amd64 3.0.20-0+deb12u1 [131 kB]
Fetched 361 kB in 0s (1,697 kB/s)   
Selecting previously unselected package libvlc5:amd64.
(Reading database ... 101534 files and directories currently installed.)
Preparing to unpack .../libvlc5_3.0.20-0+deb12u1_amd64.deb ...
Unpacking libvlc5:amd64 (3.0.20-0+deb12u1) ...
Selecting previously unselected package libvlc-bin:amd64.
Preparing to unpack .../libvlc-bin_3.0.20-0+deb12u1_amd64.deb ...
Unpacking libvlc-bin:amd64 (3.0.20-0+deb12u1) ...
Selecting previously unselected package libvlc-dev:amd64.
Preparing to unpack .../libvlc-dev_3.0.20-0+deb12u1_amd64.deb ...
Unpacking libvlc-dev:amd64 (3.0.20-0+deb12u1) ...
Setting up libvlc5:amd64 (3.0.20-0+deb12u1) ...
Setting up libvlc-bin:amd64 (3.0.20-0+deb12u1) ...
Setting up libvlc-dev:amd64 (3.0.20-0+deb12u1) ...
Processing triggers for libc-bin (2.36-9+deb12u4) ...
Processing triggers for libvlc-bin:amd64 (3.0.20-0+deb12u1) ...
root@DEB-SystemPr-f02f74f2a148:~/netdata# cmake -DBUILD_SHARED_LIBS=OFF .
-- Determining minimum required version of Go for this build
-- Minimum required Go version determined to be 1.21
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Could not find Protobuf using Config mode, falling back to Module mode
-- Checking for modules 'libbrotlidec;libbrotlienc;libbrotlicommon'
--   Package 'libbrotlidec', required by 'virtual:world', not found
--   Package 'libbrotlienc', required by 'virtual:world', not found
--   Package 'libbrotlicommon', required by 'virtual:world', not found
-- Checking for module 'libipmimonitoring'
--   Package 'libipmimonitoring', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:607 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
  CMakeLists.txt:1712 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/root/netdata/CMakeFiles/CMakeOutput.log".
See also "/root/netdata/CMakeFiles/CMakeError.log".
root@DEB-SystemPr-f02f74f2a148:~/netdata# sudo apt-get install rdma-core-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package rdma-core-dev
root@DEB-SystemPr-f02f74f2a148:~/netdata# libibverbs-dev
-bash: libibverbs-dev: command not found
root@DEB-SystemPr-f02f74f2a148:~/netdata# apt-get install libibverbs-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  ibverbs-providers libibverbs1 libnl-3-dev libnl-route-3-dev
The following NEW packages will be installed:
  ibverbs-providers libibverbs-dev libibverbs1 libnl-3-dev libnl-route-3-dev
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,335 kB of archives.
After this operation, 5,674 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bookworm/main amd64 libibverbs1 amd64 44.0-2 [60.7 kB]
Get:2 http://deb.debian.org/debian bookworm/main amd64 ibverbs-providers amd64 44.0-2 [335 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 libnl-3-dev amd64 3.7.0-0.2+b1 [104 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 libnl-route-3-dev amd64 3.7.0-0.2+b1 [203 kB]
Get:5 http://deb.debian.org/debian bookworm/main amd64 libibverbs-dev amd64 44.0-2 [633 kB]
Fetched 1,335 kB in 1s (1,294 kB/s)     
Selecting previously unselected package libibverbs1:amd64.
(Reading database ... 101587 files and directories currently installed.)
Preparing to unpack .../libibverbs1_44.0-2_amd64.deb ...
Unpacking libibverbs1:amd64 (44.0-2) ...
Selecting previously unselected package ibverbs-providers:amd64.
Preparing to unpack .../ibverbs-providers_44.0-2_amd64.deb ...
Unpacking ibverbs-providers:amd64 (44.0-2) ...
Selecting previously unselected package libnl-3-dev:amd64.
Preparing to unpack .../libnl-3-dev_3.7.0-0.2+b1_amd64.deb ...
Unpacking libnl-3-dev:amd64 (3.7.0-0.2+b1) ...
Selecting previously unselected package libnl-route-3-dev:amd64.
Preparing to unpack .../libnl-route-3-dev_3.7.0-0.2+b1_amd64.deb ...
Unpacking libnl-route-3-dev:amd64 (3.7.0-0.2+b1) ...
Selecting previously unselected package libibverbs-dev:amd64.
Preparing to unpack .../libibverbs-dev_44.0-2_amd64.deb ...
Unpacking libibverbs-dev:amd64 (44.0-2) ...
Setting up libibverbs1:amd64 (44.0-2) ...
Setting up ibverbs-providers:amd64 (44.0-2) ...
Setting up libnl-3-dev:amd64 (3.7.0-0.2+b1) ...
Setting up libnl-route-3-dev:amd64 (3.7.0-0.2+b1) ...
Setting up libibverbs-dev:amd64 (44.0-2) ...
Processing triggers for libc-bin (2.36-9+deb12u4) ...
Processing triggers for man-db (2.11.2-2) ...
root@DEB-SystemPr-f02f74f2a148:~/netdata# cmake -DBUILD_SHARED_LIBS=OFF .
-- Determining minimum required version of Go for this build
-- Minimum required Go version determined to be 1.21
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Could not find Protobuf using Config mode, falling back to Module mode
-- Checking for modules 'libbrotlidec;libbrotlienc;libbrotlicommon'
--   Package 'libbrotlidec', required by 'virtual:world', not found
--   Package 'libbrotlienc', required by 'virtual:world', not found
--   Package 'libbrotlicommon', required by 'virtual:world', not found
-- Checking for module 'libipmimonitoring'
--   Package 'libipmimonitoring', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:607 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
  CMakeLists.txt:1712 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/root/netdata/CMakeFiles/CMakeOutput.log".
See also "/root/netdata/CMakeFiles/CMakeError.log".

image

CMakeError.log
CMakeOutput.log

@wmertens
Copy link

FYI here's how NixOS builds it NixOS/nixpkgs#298641

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants