Ubuntu Build from source

Following the Building 22.4 from Source guide. I exact the tar file to start building gvmd and I am presented with the following error, "-- Could NOT find Git (missing: GIT_EXECUTABLE) " thoughts? This is a brand new Ubuntu build if that helps.

Below is the terminal output of events.

tsunami@tsunami:~/build/gvmd$ tar -C $SOURCE_DIR -xvzf $SOURCE_DIR/gvmd-$GVMD_VERSION.tar.gz
gvmd-22.6.0/
gvmd-22.6.0/.clang-format
gvmd-22.6.0/.codecov.yml
gvmd-22.6.0/.docker/
gvmd-22.6.0/.docker/build.Dockerfile
gvmd-22.6.0/.docker/entrypoint.sh
gvmd-22.6.0/.docker/prod.Dockerfile
gvmd-22.6.0/.docker/setup-mta.sh
gvmd-22.6.0/.docker/start-gvmd.sh
gvmd-22.6.0/.dockerignore
gvmd-22.6.0/.github/
gvmd-22.6.0/.github/CODEOWNERS
gvmd-22.6.0/.github/ISSUE_TEMPLATE/
gvmd-22.6.0/.github/ISSUE_TEMPLATE/bug-report.md
gvmd-22.6.0/.github/ISSUE_TEMPLATE/config.yml
gvmd-22.6.0/.github/dependabot.yml
gvmd-22.6.0/.github/workflows/
gvmd-22.6.0/.github/workflows/build-and-test.yml
gvmd-22.6.0/.github/workflows/build-container.yml
gvmd-22.6.0/.github/workflows/build-docs.yml
gvmd-22.6.0/.github/workflows/codeql-analysis-c.yml
gvmd-22.6.0/.github/workflows/container.yml
gvmd-22.6.0/.github/workflows/conventional-commits.yml
gvmd-22.6.0/.github/workflows/dependency-review.yml
gvmd-22.6.0/.github/workflows/release-pontos.yml
gvmd-22.6.0/.github/workflows/sbom-upload.yml
gvmd-22.6.0/.gitignore
gvmd-22.6.0/.mergify.yml
gvmd-22.6.0/CMakeLists.txt
gvmd-22.6.0/COPYING
gvmd-22.6.0/INSTALL.md
gvmd-22.6.0/README.md
gvmd-22.6.0/VERSION.in
gvmd-22.6.0/cmake/
gvmd-22.6.0/cmake/FindPackageHandleStandardArgs.cmake
gvmd-22.6.0/cmake/FindPackageMessage.cmake
gvmd-22.6.0/cmake/FindPostgreSQL.cmake
gvmd-22.6.0/cmake/GetGit.cmake
gvmd-22.6.0/cmake/SelectLibraryConfigurations.cmake
gvmd-22.6.0/config/
gvmd-22.6.0/config/CMakeLists.txt
gvmd-22.6.0/config/gvmd.logrotate.in
gvmd-22.6.0/config/gvmd.service.in
gvmd-22.6.0/doc/
gvmd-22.6.0/doc/CMakeLists.txt
gvmd-22.6.0/doc/Doxyfile.in
gvmd-22.6.0/doc/Doxyfile_full.in
gvmd-22.6.0/doc/Doxyfile_xml.in
gvmd-22.6.0/doc/about-cert-feed.txt
gvmd-22.6.0/doc/db-schema-documentation-HOWTO.md
gvmd-22.6.0/doc/example-gvm-manage-certs.conf.in
gvmd-22.6.0/doc/greenbone-certdata-sync.8
gvmd-22.6.0/doc/greenbone-certdata-sync.8.xml
gvmd-22.6.0/doc/greenbone-scapdata-sync.8
gvmd-22.6.0/doc/greenbone-scapdata-sync.8.xml
gvmd-22.6.0/doc/gvm-manage-certs.1
gvmd-22.6.0/doc/gvmd.8
gvmd-22.6.0/doc/gvmd.8.xml
gvmd-22.6.0/doc/gvmd.html
gvmd-22.6.0/doc/icalendar-schedules
gvmd-22.6.0/doc/report-format-HOWTO
gvmd-22.6.0/doc/user-scap-data-HOWTO
gvmd-22.6.0/doc/vfire-data-xml.rnc
gvmd-22.6.0/src/
gvmd-22.6.0/src/CMakeLists.txt
gvmd-22.6.0/src/alert_methods/
gvmd-22.6.0/src/alert_methods/SCP/
gvmd-22.6.0/src/alert_methods/SCP/alert
gvmd-22.6.0/src/alert_methods/SMB/
gvmd-22.6.0/src/alert_methods/SMB/alert
gvmd-22.6.0/src/alert_methods/SNMP/
gvmd-22.6.0/src/alert_methods/SNMP/alert
gvmd-22.6.0/src/alert_methods/Send/
gvmd-22.6.0/src/alert_methods/Send/alert
gvmd-22.6.0/src/alert_methods/Sourcefire/
gvmd-22.6.0/src/alert_methods/Sourcefire/alert
gvmd-22.6.0/src/alert_methods/TippingPoint/
gvmd-22.6.0/src/alert_methods/TippingPoint/alert
gvmd-22.6.0/src/alert_methods/TippingPoint/report-convert.py
gvmd-22.6.0/src/alert_methods/vFire/
gvmd-22.6.0/src/alert_methods/vFire/alert
gvmd-22.6.0/src/alert_methods/verinice/
gvmd-22.6.0/src/alert_methods/verinice/alert
gvmd-22.6.0/src/debug_utils.c
gvmd-22.6.0/src/debug_utils.h
gvmd-22.6.0/src/gmp.c
gvmd-22.6.0/src/gmp.h
gvmd-22.6.0/src/gmp_base.c
gvmd-22.6.0/src/gmp_base.h
gvmd-22.6.0/src/gmp_configs.c
gvmd-22.6.0/src/gmp_configs.h
gvmd-22.6.0/src/gmp_delete.c
gvmd-22.6.0/src/gmp_delete.h
gvmd-22.6.0/src/gmp_get.c
gvmd-22.6.0/src/gmp_get.h
gvmd-22.6.0/src/gmp_license.c
gvmd-22.6.0/src/gmp_license.h
gvmd-22.6.0/src/gmp_logout.c
gvmd-22.6.0/src/gmp_logout.h
gvmd-22.6.0/src/gmp_port_lists.c
gvmd-22.6.0/src/gmp_port_lists.h
gvmd-22.6.0/src/gmp_report_formats.c
gvmd-22.6.0/src/gmp_report_formats.h
gvmd-22.6.0/src/gmp_tickets.c
gvmd-22.6.0/src/gmp_tickets.h
gvmd-22.6.0/src/gmp_tickets_tests.c
gvmd-22.6.0/src/gmp_tls_certificates.c
gvmd-22.6.0/src/gmp_tls_certificates.h
gvmd-22.6.0/src/gmpd.c
gvmd-22.6.0/src/gmpd.h
gvmd-22.6.0/src/gvmd.c
gvmd-22.6.0/src/gvmd.h
gvmd-22.6.0/src/gvmd_log_conf.cmake_in
gvmd-22.6.0/src/iterator.h
gvmd-22.6.0/src/lsc_crypt.c
gvmd-22.6.0/src/lsc_crypt.h
gvmd-22.6.0/src/lsc_user.c
gvmd-22.6.0/src/lsc_user.h
gvmd-22.6.0/src/main.c
gvmd-22.6.0/src/manage.c
gvmd-22.6.0/src/manage.h
gvmd-22.6.0/src/manage_acl.c
gvmd-22.6.0/src/manage_acl.h
gvmd-22.6.0/src/manage_authentication.c
gvmd-22.6.0/src/manage_authentication.h
gvmd-22.6.0/src/manage_configs.c
gvmd-22.6.0/src/manage_configs.h
gvmd-22.6.0/src/manage_get.c
gvmd-22.6.0/src/manage_get.h
gvmd-22.6.0/src/manage_license.c
gvmd-22.6.0/src/manage_license.h
gvmd-22.6.0/src/manage_migrators.c
gvmd-22.6.0/src/manage_migrators_219_to_220_names.h
gvmd-22.6.0/src/manage_pg.c
gvmd-22.6.0/src/manage_pg_server.c
gvmd-22.6.0/src/manage_port_lists.c
gvmd-22.6.0/src/manage_port_lists.h
gvmd-22.6.0/src/manage_preferences.c
gvmd-22.6.0/src/manage_preferences.h
gvmd-22.6.0/src/manage_report_formats.c
gvmd-22.6.0/src/manage_report_formats.h
gvmd-22.6.0/src/manage_sql.c
gvmd-22.6.0/src/manage_sql.h
gvmd-22.6.0/src/manage_sql_configs.c
gvmd-22.6.0/src/manage_sql_configs.h
gvmd-22.6.0/src/manage_sql_nvts.c
gvmd-22.6.0/src/manage_sql_nvts.h
gvmd-22.6.0/src/manage_sql_port_lists.c
gvmd-22.6.0/src/manage_sql_port_lists.h
gvmd-22.6.0/src/manage_sql_report_formats.c
gvmd-22.6.0/src/manage_sql_report_formats.h
gvmd-22.6.0/src/manage_sql_secinfo.c
gvmd-22.6.0/src/manage_sql_secinfo.h
gvmd-22.6.0/src/manage_sql_tests.c
gvmd-22.6.0/src/manage_sql_tickets.c
gvmd-22.6.0/src/manage_sql_tickets.h
gvmd-22.6.0/src/manage_sql_tls_certificates.c
gvmd-22.6.0/src/manage_sql_tls_certificates.h
gvmd-22.6.0/src/manage_tests.c
gvmd-22.6.0/src/manage_tickets.h
gvmd-22.6.0/src/manage_tls_certificates.c
gvmd-22.6.0/src/manage_tls_certificates.h
gvmd-22.6.0/src/manage_utils.c
gvmd-22.6.0/src/manage_utils.h
gvmd-22.6.0/src/manage_utils_tests.c
gvmd-22.6.0/src/pwpolicy.conf
gvmd-22.6.0/src/schema_formats/
gvmd-22.6.0/src/schema_formats/HTML/
gvmd-22.6.0/src/schema_formats/HTML/HTML.xsl
gvmd-22.6.0/src/schema_formats/HTML/generate
gvmd-22.6.0/src/schema_formats/RNC/
gvmd-22.6.0/src/schema_formats/RNC/RNC.xsl
gvmd-22.6.0/src/schema_formats/RNC/generate
gvmd-22.6.0/src/schema_formats/XML-brief/
gvmd-22.6.0/src/schema_formats/XML-brief/GMP.xsl
gvmd-22.6.0/src/schema_formats/XML-brief/generate
gvmd-22.6.0/src/schema_formats/XML/
gvmd-22.6.0/src/schema_formats/XML/GMP.xml.in
gvmd-22.6.0/src/schema_formats/XML/generate
gvmd-22.6.0/src/schema_formats/rnc.xsl
gvmd-22.6.0/src/sql.c
gvmd-22.6.0/src/sql.h
gvmd-22.6.0/src/sql_pg.c
gvmd-22.6.0/src/theia_dummy.h
gvmd-22.6.0/src/types.h
gvmd-22.6.0/src/utils.c
gvmd-22.6.0/src/utils.h
gvmd-22.6.0/src/utils_tests.c
gvmd-22.6.0/src/wizards/
gvmd-22.6.0/src/wizards/delete_task_deep.xml
gvmd-22.6.0/src/wizards/get_tasks_deep.xml
gvmd-22.6.0/src/wizards/modify_task.xml
gvmd-22.6.0/src/wizards/quick_auth_scan.xml
gvmd-22.6.0/src/wizards/quick_first_scan.xml
gvmd-22.6.0/src/wizards/quick_task.xml
gvmd-22.6.0/src/wizards/reset_task.xml
gvmd-22.6.0/tools/
gvmd-22.6.0/tools/cert_bund_getbyname.xsl
gvmd-22.6.0/tools/cpe_getbyname.xsl
gvmd-22.6.0/tools/create-gvm-migrate-config
gvmd-22.6.0/tools/cve_getbyname.xsl
gvmd-22.6.0/tools/dfn_cert_getbyname.xsl
gvmd-22.6.0/tools/greenbone-certdata-sync.in
gvmd-22.6.0/tools/greenbone-feed-sync.in
gvmd-22.6.0/tools/greenbone-scapdata-sync.in
gvmd-22.6.0/tools/gvm-export-config
gvmd-22.6.0/tools/gvm-lsc-deb-creator
gvmd-22.6.0/tools/gvm-lsc-exe-creator
gvmd-22.6.0/tools/gvm-lsc-rpm-creator
gvmd-22.6.0/tools/gvm-manage-certs.in
gvmd-22.6.0/tools/gvm-migrate-config
gvmd-22.6.0/tools/template.nsis
tsunami@tsunami:~/build/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
– Configuring Greenbone Vulnerability Manager…
– Could NOT find Git (missing: GIT_EXECUTABLE)
– Install prefix: /usr/local
– Checking for module ‘libical>=1.00’
– No package ‘libical’ found
CMake Error at /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:825 (_pkg_check_modules_internal)
src/CMakeLists.txt:36 (pkg_check_modules)

– Configuring incomplete, errors occurred!
See also “/home/tsunami/build/gvmd/CMakeFiles/CMakeOutput.log”.
tsunami@tsunami-hacks:~/build/gvmd$

I should note as well that I received one error earlier in the process that may be the reason behind.

tsunami@tsunami:~/build/gvm-libs$ sudo apt install postgresql-server-dev-15
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package postgresql-server-dev-15

May be an Ubuntu and Postgresql issue.

The PostgreSQL error is due to the fact that you are not using the appropriate install instructions for Ubuntu 22. Seems you are using code from the Debian tab. There are separate tabs with slightly different commands for each OS.

sudo apt install -y \
  libglib2.0-dev \
  libgnutls28-dev \
  libpq-dev \
  postgresql-server-dev-14 \
  libical-dev \
  xsltproc \
  rsync \
  libbsd-dev \
  libgpgme-dev

Thank you, I re-fired the image and started again using the correct tab for the library. I ran into a url 404 error on the second run.

tsunami@tsunami:~/build/gvm-libs$ curl -f -L https://github.com/greenbone/gvmd/releases/download/v$GVMD_VERSION/gvmd-$GVMD_VERSION.tar.gz.asc -o $SOURCE_DIR/gvmd-$GVMD_VERSION.tar.gz.asc
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 9 0 0 0 0 0 0 --:–:-- 0:00:05 --:–:-- 0
curl: (22) The requested URL returned error: 404

methinks your environment variables are not set. :thinking: