Build failing

hi all. trying to use official documentation to build 22.4 and i get the below. One thing missing from the official doc is the setting of “pkgconfig”. Is there a complete step by step to install 22.4?

ubuntu@ip-10-12-10-160:~$ mkdir -p $BUILD_DIR/gvmd && cd $BUILD_DIR/gvmd

cmake $SOURCE_DIR/gvmd-$GVMD_VERSION
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX
-DCMAKE_BUILD_TYPE=Release
-DLOCALSTATEDIR=/var
-DSYSCONFDIR=/etc
-DGVM_DATA_DIR=/var
-DGVMD_RUN_DIR=/run/gvmd
-DOPENVAS_DEFAULT_SOCKET=/run/ospd/ospd-openvas.sock
-DGVM_FEED_LOCK_PATH=/var/lib/gvm/feed-update.lock
-DSYSTEMD_SERVICE_DIR=/lib/systemd/system
-DLOGROTATE_DIR=/etc/logrotate.d
-DPostgreSQL_TYPE_INCLUDE_DIR=/usr/include/postgresql

make -j$(nproc)
– Configuring Greenbone Vulnerability Manager…
– The C compiler identification is GNU 11.3.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
– Found PkgConfig: /usr/bin/pkg-config (found version “0.29.2”)
– Found Git: /usr/bin/git (found version “2.34.1”)
– Install prefix: /usr/local
– Looking for pthread.h
– Looking for pthread.h - found
– Performing Test CMAKE_HAVE_LIBC_PTHREAD
– Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
– Found Threads: TRUE
– Checking for module ‘libgvm_base>=22.4’
– Found libgvm_base, version 22.4.0
– Checking for module ‘libgvm_util>=22.4’
– Found libgvm_util, version 22.4.0
– Checking for module ‘libgvm_osp>=22.4’
– Found libgvm_osp, version 22.4.0
– Checking for module ‘libgvm_gmp>=22.4’
– Found libgvm_gmp, version 22.4.0
– Checking for module ‘gnutls>=3.2.15’
– Found gnutls, version 3.7.3
– Checking for module ‘glib-2.0>=2.42’
– Found glib-2.0, version 2.72.4
– Checking for module ‘libbsd’
– Found libbsd, version 0.11.5
– Checking for module ‘libical>=1.00’
– Found libical, version 3.0.14
– Looking for PostgreSQL…
– Found PostgreSQL: /usr/lib/x86_64-linux-gnu/libpq.so (found version “15.1”)
– Looking for xml_split…
– Looking for xml_split… /usr/bin/xml_split
– Looking for xsltproc…
– Looking for xsltproc… /usr/bin/xsltproc
– Looking for gpgme…
– Looking for gpgme… /usr/lib/x86_64-linux-gnu/libgpgme.so
– Not using libtheia - licensing functions disabled
– Looking for xmltoman…
– Looking for xmltoman… XMLTOMAN_EXECUTABLE-NOTFOUND
– Looking for xmlmantohtml… XMLMANTOHTML_EXECUTABLE-NOTFOUND
– Looking for xsltproc…
– Looking for xsltproc… /usr/bin/xsltproc
– Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
– WARNING: Doxygen is required to build the HTML docs.
– WARNING: xmltoman is required to generate manpage.
– WARNING: xmlmantohtml is required for manpage in HTML docs.
– Configuring done
– Generating done
– Build files have been written to: /home/ubuntu/build/gvmd
[ 5%] Building C object src/CMakeFiles/gvm-pg-server.dir/manage_utils.c.o
[ 5%] Generating gmp.html
[ 5%] Building C object src/CMakeFiles/gvm-pg-server.dir/manage_pg_server.c.o
[ 10%] Building C object src/CMakeFiles/gvmd.dir/main.c.o
[ 10%] Building C object src/CMakeFiles/gvmd.dir/gvmd.c.o
[ 10%] Building C object src/CMakeFiles/gvmd.dir/debug_utils.c.o
[ 15%] Generating gmp.rnc
[ 20%] Building C object src/CMakeFiles/gvmd.dir/gmpd.c.o
[ 20%] Linking C shared library libgvm-pg-server.so
/usr/bin/ld: cannot find -lgvm_base: No such file or directory
/usr/bin/ld: cannot find -lgvm_util: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/gvm-pg-server.dir/build.make:113: src/libgvm-pg-server.so.22.4.0~dev1] Error 1
make[1]: *** [CMakeFiles/Makefile2:147: src/CMakeFiles/gvm-pg-server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 25%] Building C object src/CMakeFiles/gvmd.dir/manage_utils.c.o
[ 25%] Building GMP documentation…
[ 25%] Built target doc-gmp
[ 30%] Building C object src/CMakeFiles/gvmd.dir/manage.c.o
[ 30%] Building C object src/CMakeFiles/gvmd.dir/sql.c.o
[ 30%] Building C object src/CMakeFiles/gvmd.dir/manage_acl.c.o
[ 35%] Building C object src/CMakeFiles/gvmd.dir/manage_configs.c.o
[ 35%] Building C object src/CMakeFiles/gvmd.dir/manage_get.c.o
[ 40%] Building C object src/CMakeFiles/gvmd.dir/manage_license.c.o
[ 40%] Building C object src/CMakeFiles/gvmd.dir/manage_port_lists.c.o
[ 40%] Building C object src/CMakeFiles/gvmd.dir/manage_preferences.c.o
[ 45%] Building C object src/CMakeFiles/gvmd.dir/manage_report_formats.c.o
[ 45%] Building C object src/CMakeFiles/gvmd.dir/manage_authentication.c.o
[ 50%] Building C object src/CMakeFiles/gvmd.dir/manage_sql.c.o
[ 50%] Building C object src/CMakeFiles/gvmd.dir/manage_sql_nvts.c.o
[ 50%] Building C object src/CMakeFiles/gvmd.dir/manage_sql_secinfo.c.o
[ 55%] Building C object src/CMakeFiles/gvmd.dir/manage_sql_port_lists.c.o
[ 55%] Building C object src/CMakeFiles/gvmd.dir/manage_sql_configs.c.o
[ 60%] Building C object src/CMakeFiles/gvmd.dir/manage_sql_report_formats.c.o
[ 60%] Building C object src/CMakeFiles/gvmd.dir/manage_sql_tickets.c.o
[ 60%] Building C object src/CMakeFiles/gvmd.dir/manage_sql_tls_certificates.c.o
[ 65%] Building C object src/CMakeFiles/gvmd.dir/manage_tls_certificates.c.o
[ 65%] Building C object src/CMakeFiles/gvmd.dir/manage_migrators.c.o
[ 70%] Building C object src/CMakeFiles/gvmd.dir/sql_pg.c.o
[ 70%] Building C object src/CMakeFiles/gvmd.dir/manage_pg.c.o
[ 70%] Building C object src/CMakeFiles/gvmd.dir/lsc_user.c.o
[ 75%] Building C object src/CMakeFiles/gvmd.dir/lsc_crypt.c.o
[ 75%] Building C object src/CMakeFiles/gvmd.dir/utils.c.o
[ 80%] Building C object src/CMakeFiles/gvmd.dir/gmp.c.o
[ 80%] Building C object src/CMakeFiles/gvmd.dir/gmp_base.c.o
[ 80%] Building C object src/CMakeFiles/gvmd.dir/gmp_configs.c.o
[ 85%] Building C object src/CMakeFiles/gvmd.dir/gmp_delete.c.o
[ 85%] Building C object src/CMakeFiles/gvmd.dir/gmp_get.c.o
[ 90%] Building C object src/CMakeFiles/gvmd.dir/gmp_license.c.o
[ 90%] Building C object src/CMakeFiles/gvmd.dir/gmp_port_lists.c.o
[ 90%] Building C object src/CMakeFiles/gvmd.dir/gmp_report_formats.c.o
[ 95%] Building C object src/CMakeFiles/gvmd.dir/gmp_tickets.c.o
[ 95%] Building C object src/CMakeFiles/gvmd.dir/gmp_tls_certificates.c.o
[100%] Linking C executable gvmd
/usr/bin/ld: cannot find -lgvm_base: No such file or directory
/usr/bin/ld: cannot find -lgvm_util: No such file or directory
/usr/bin/ld: cannot find -lgvm_osp: No such file or directory
/usr/bin/ld: cannot find -lgvm_gmp: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/gvmd.dir/build.make:722: src/gvmd] Error 1
make[1]: *** [CMakeFiles/Makefile2:333: src/CMakeFiles/gvmd.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
ubuntu@ip-10-12-10-160:~/build/gvmd$ sudo apt install -y
libglib2.0-dev
postgresql-server-dev-14
libical-dev
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
libical-dev is already the newest version (3.0.14-1build1).
libglib2.0-dev is already the newest version (2.72.4-0ubuntu1).
postgresql-server-dev-14 is already the newest version (14.6-1.pgdg22.04+1).
The following package was automatically installed and is no longer required:
libnftables1
Use ‘sudo apt autoremove’ to remove it.
0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
ubuntu@ip-10-12-10-160:~/build/gvmd$ mkdir -p $BUILD_DIR/pg-gvm && cd $BUILD_DIR/pg-gvm

cmake $SOURCE_DIR/pg-gvm-$PG_GVM_VERSION
-DCMAKE_BUILD_TYPE=Release
-DPostgreSQL_TYPE_INCLUDE_DIR=/usr/include/postgresql

make -j$(nproc)
– Configuring PostgreSQL extension for GVMd functions…
– The C compiler identification is GNU 11.3.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
– Install prefix: /usr/local
– Found PkgConfig: /usr/bin/pkg-config (found version “0.29.2”)
– Checking for module ‘libical>=1.00’
– Found libical, version 3.0.14
– Checking for module ‘glib-2.0>=2.42’
– Found glib-2.0, version 2.72.4
– Checking for module ‘libgvm_base>=22.4’
– Found libgvm_base, version 22.4.0
– Found Git: /usr/bin/git (found version “2.34.1”)
– Found PostgreSQL: /usr/lib/x86_64-linux-gnu/libpq.so (found version “15.1”)
– Configuring done
– Generating done
– Build files have been written to: /home/ubuntu/build/pg-gvm
[ 0%] Built target control
[ 14%] Generating pg-gvm–22.4.0.sql
[ 28%] Building C object CMakeFiles/pg-gvm.dir/src/regexp.c.o
[ 42%] Building C object CMakeFiles/pg-gvm.dir/src/ical.c.o
[ 57%] Building C object CMakeFiles/pg-gvm.dir/src/ical_utils.c.o
[ 57%] Built target sqlscript
[ 71%] Building C object CMakeFiles/pg-gvm.dir/src/hosts.c.o
[ 85%] Building C object CMakeFiles/pg-gvm.dir/src/array.c.o
[100%] Linking C shared module libpg-gvm.so
/usr/bin/ld: cannot find -lgvm_base: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/pg-gvm.dir/build.make:161: libpg-gvm.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/pg-gvm.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

1 Like

Our docs are a complete step by step guide. Not sure what you mean. Did you follow the guide 1:1?

Did you change the INSTALL_PREFIX to some other location then /usr/local? If yes, this isn’t considered in the guide and you need to set the PKG_CONFIG_PATH environment variable too.

1 Like