This is an issue and not a support question which should be asked at https://forum.greenbone.net/?
Is there an existing issue for this?
Current Behavior
Tried to compile the new 26.26.0 release and it fails due to -Wimplicit-function-declaration on manage_utils.c, manage_sql_alerts.c and manage_alerts.c when assert() is used but assert.h not included beforehand.
-- Configuring Greenbone Vulnerability Manager...
-- The C compiler identification is GNU 16.1.1
-- 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 "2.5.1")
-- Could NOT find Git (missing: GIT_EXECUTABLE)
-- Looking for clang-format...
-- Looking for clang-format... /usr/bin/clang-format
-- Install prefix: /usr
-- Log file: -
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Checking for module 'libcjson>=1.7.14'
-- Found libcjson, version 1.7.19
-- Checking for module 'libgvm_base>=22.39'
-- Found libgvm_base, version 23.0.0
-- Checking for module 'libgvm_util>=23.00'
-- Found libgvm_util, version 23.0.0
-- Checking for module 'libgvm_osp>=23.00'
-- Found libgvm_osp, version 23.0.0
-- Checking for module 'libgvm_gmp>=22.30'
-- Found libgvm_gmp, version 23.0.0
-- ENABLE_OPENVASD flag is not enabled
-- ENABLE_AGENTS flag is not enabled
-- ENABLE_CREDENTIAL_STORES flag is not enabled
-- ENABLE_CONTAINER_SCANNING flag is not enabled
-- ENABLE_JWT_AUTH flag is not enabled
-- Checking for module 'gnutls>=3.2.15'
-- Found gnutls, version 3.8.13
-- Checking for module 'glib-2.0>=2.42'
-- Found glib-2.0, version 2.88.1
-- Checking for module 'libbsd'
-- Found libbsd, version 0.12.2
-- Checking for module 'libical>=1.00'
-- Found libical, version 4.0.1
-- Checking for module 'gpgme'
-- Found gpgme, version 2.0.1
-- Looking for PostgreSQL...
-- Found PostgreSQL: /usr/lib/libpq.so (found version "18.4")
-- Looking for xsltproc...
-- Looking for xsltproc... /usr/bin/xsltproc
-- Not using libtheia - licensing functions disabled
-- Looking for xmltoman...
-- Looking for xmltoman... /usr/bin/xmltoman
-- Looking for xmlmantohtml... /usr/bin/xmlmantohtml
-- Looking for xsltproc...
-- Looking for xsltproc... /usr/bin/xsltproc
-- Found Doxygen: /usr/bin/doxygen (found version "1.16.1") found components: doxygen missing components: dot
-- Configuring done (0.8s)
-- Generating done (0.1s)
-- Build files have been written to: /tmp/makepkg/gvmd/src/build
make: Entering directory '/tmp/makepkg/gvmd/src/build'
[ 0%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp.c.o
[ 0%] Building C object src/CMakeFiles/gvm-pg-server.dir/manage_pg_server.c.o
[ 0%] Building C object src/CMakeFiles/all-manage-sql-obj.dir/manage_sql.c.o
[ 0%] Building C object src/CMakeFiles/all-manage-obj.dir/manage.c.o
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage.c: In function ‘truncate_private_key’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage.c:315:13: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
315 | key_start = strstr (private_key, "-----BEGIN RSA PRIVATE KEY-----");
| ^
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage.c:328:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
328 | key_start = strstr (private_key, "-----BEGIN DSA PRIVATE KEY-----");
| ^
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage.c:342:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
342 | key_start = strstr (private_key, "-----BEGIN EC PRIVATE KEY-----");
| ^
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage.c:356:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
356 | key_start = strstr (private_key, "-----BEGIN OPENSSH PRIVATE KEY-----");
| ^
[ 0%] Building C object src/CMakeFiles/gvm-pg-server.dir/manage_utils.c.o
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c: In function ‘icalendar_simplify_vevent’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:326:22: error: implicit declaration of function ‘icaltime_subtract’; did you mean ‘icaltime_is_utc’? [-Wimplicit-function-declaration]
326 | duration = icaltime_subtract (dtend_zone, dtstart);
| ^~~~~~~~~~~~~~~~~
| icaltime_is_utc
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:326:22: error: incompatible types when assigning to type ‘struct icaldurationtype’ from type ‘int’
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:354:34: error: implicit declaration of function ‘icalproperty_new_clone’; did you mean ‘icalproperty_new_scope’? [-Wimplicit-function-declaration]
354 | icalproperty *prop_clone = icalproperty_new_clone (rrule_prop);
| ^~~~~~~~~~~~~~~~~~~~~~
| icalproperty_new_scope
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:354:34: error: initialization of ‘icalproperty *’ {aka ‘struct icalproperty_impl *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c: In function ‘icalendar_from_string’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:481:5: error: implicit declaration of function ‘icalcomponent_new_clone’; did you mean ‘icalcomponent_new_xvote’? [-Wimplicit-function-declaration]
481 | icalcomponent_new_clone (icaltimezone_get_component (zone));
| ^~~~~~~~~~~~~~~~~~~~~~~
| icalcomponent_new_xvote
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:480:22: error: assignment to ‘icalcomponent *’ {aka ‘struct icalcomponent_impl *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
480 | timezone_component =
| ^
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c: In function ‘icalendar_approximate_rrule_from_vcalendar’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:631:20: error: incompatible types when assigning to type ‘struct icalrecurrencetype’ from type ‘struct icalrecurrencetype *’
631 | recurrence = icalproperty_get_rrule (rrule_prop);
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:669:24: error: ‘struct icalrecurrencetype’ has no member named ‘by_day’
669 | while (recurrence.by_day[array_pos] != ICAL_RECURRENCE_ARRAY_MAX)
| ^
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:669:46: error: ‘ICAL_RECURRENCE_ARRAY_MAX’ undeclared (first use in this function)
669 | while (recurrence.by_day[array_pos] != ICAL_RECURRENCE_ARRAY_MAX)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:669:46: note: each undeclared identifier is reported only once for each function it appears in
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:672:59: error: ‘struct icalrecurrencetype’ has no member named ‘by_day’
672 | icalrecurrencetype_day_day_of_week (recurrence.by_day[array_pos]);
| ^
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:632:11: warning: variable ‘array_pos’ set but not used [-Wunused-but-set-variable=]
632 | int array_pos;
| ^~~~~~~~~
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c: In function ‘icalendar_next_time_from_recurrence’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:844:40: error: incompatible type for argument 1 of ‘icalrecur_iterator_new’
844 | recur_iter = icalrecur_iterator_new (recurrence, dtstart);
| ^~~~~~~~~~
| |
| struct icalrecurrencetype
In file included from /tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.h:18,
from /tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:13:
/usr/include/libical/ical.h:2716:91: note: expected ‘struct icalrecurrencetype *’ but argument is of type ‘struct icalrecurrencetype’
2716 | LIBICAL_ICAL_EXPORT icalrecur_iterator *icalrecur_iterator_new(struct icalrecurrencetype *rule,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c: In function ‘icalendar_next_time_from_vcalendar’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:1010:18: error: incompatible types when assigning to type ‘struct icalrecurrencetype’ from type ‘struct icalrecurrencetype *’
1010 | recurrence = icalproperty_get_rrule (rrule_prop);
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:1012:5: error: implicit declaration of function ‘icalrecurrencetype_clear’; did you mean ‘icalrecurrencetype_clone’? [-Wimplicit-function-declaration]
1012 | icalrecurrencetype_clear (&recurrence);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| icalrecurrencetype_clone
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c: In function ‘icalendar_duration_from_vcalendar’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_utils.c:1083:10: error: implicit declaration of function ‘icaldurationtype_as_int’; did you mean ‘icaldurationtype_as_seconds’? [-Wimplicit-function-declaration]
1083 | return icaldurationtype_as_int (duration);
| ^~~~~~~~~~~~~~~~~~~~~~~
| icaldurationtype_as_seconds
make[2]: *** [src/CMakeFiles/gvm-pg-server.dir/build.make:93: src/CMakeFiles/gvm-pg-server.dir/manage_utils.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:228: src/CMakeFiles/gvm-pg-server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 0%] Building C object src/CMakeFiles/all-manage-sql-obj.dir/manage_sql_copy.c.o
[ 0%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_base.c.o
[ 0%] Building C object src/CMakeFiles/all-manage-obj.dir/manage_acl.c.o
[ 0%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_configs.c.o
[ 0%] Building C object src/CMakeFiles/all-manage-obj.dir/manage_alerts.c.o
[ 0%] Building C object src/CMakeFiles/all-manage-sql-obj.dir/manage_sql_alerts.c.o
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_sql_alerts.c: In function ‘copy_alert’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_sql_alerts.c:67:3: error: implicit declaration of function ‘assert’ [-Wimplicit-function-declaration]
67 | assert (current_credentials.uuid);
| ^~~~~~
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_sql_alerts.c:18:1: note: ‘assert’ is defined in header ‘<assert.h>’; this is probably fixable by adding ‘#include <assert.h>’
17 | #include <gvm/base/hosts.h>
+++ |+#include <assert.h>
18 |
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_alerts.c: In function ‘alert_subject_print’:
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_alerts.c:2996:3: error: implicit declaration of function ‘assert’ [-Wimplicit-function-declaration]
2996 | assert (subject);
| ^~~~~~
/tmp/makepkg/gvmd/src/gvmd-26.26.0/src/manage_alerts.c:38:1: note: ‘assert’ is defined in header ‘<assert.h>’; this is probably fixable by adding ‘#include <assert.h>’
37 | #include <gvm/util/uuidutils.h>
+++ |+#include <assert.h>
38 |
make[2]: *** [src/CMakeFiles/all-manage-sql-obj.dir/build.make:107: src/CMakeFiles/all-manage-sql-obj.dir/manage_sql_alerts.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 0%] Building C object src/CMakeFiles/all-manage-obj.dir/manage_asset_keys.c.o
make[2]: *** [src/CMakeFiles/all-manage-obj.dir/build.make:107: src/CMakeFiles/all-manage-obj.dir/manage_alerts.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 0%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_delete.c.o
make[1]: *** [CMakeFiles/Makefile2:260: src/CMakeFiles/all-manage-obj.dir/all] Error 2
[ 0%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_get.c.o
[ 4%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_integration_configs.c.o
make[1]: *** [CMakeFiles/Makefile2:292: src/CMakeFiles/all-manage-sql-obj.dir/all] Error 2
[ 4%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_license.c.o
[ 4%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_logout.c.o
[ 4%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_oci_image_targets.c.o
[ 4%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_port_lists.c.o
[ 4%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_applications.c.o
[ 8%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_closed_cves.c.o
[ 8%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_configs.c.o
[ 8%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_cves.c.o
[ 8%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_errors.c.o
[ 8%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_formats.c.o
[ 13%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_operating_systems.c.o
[ 13%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_hosts.c.o
[ 13%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_ports.c.o
[ 13%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_tls_certificates.c.o
[ 13%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_report_vulns.c.o
[ 13%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_tickets.c.o
[ 17%] Building C object src/CMakeFiles/all-gmp-obj.dir/gmp_tls_certificates.c.o
[ 17%] Built target all-gmp-obj
make: *** [Makefile:166: all] Error 2
There are also errors due to ical but didn't check that yet, if that is fallout from the 4.0.x release or something else. But I guess it is from 4.0.x
Expected Behavior
Compilation being successful
Steps To Reproduce
Building this package with GCC 16.1 (and one of the deps being libical 4.0.1 as an explanation for the other errors)
Operating System
Arch Linux
Version
No response
Anything else?
No response
This is an issue and not a support question which should be asked at https://forum.greenbone.net/?
Is there an existing issue for this?
Current Behavior
Tried to compile the new 26.26.0 release and it fails due to
-Wimplicit-function-declarationonmanage_utils.c,manage_sql_alerts.candmanage_alerts.cwhenassert()is used butassert.hnot included beforehand.There are also errors due to
icalbut didn't check that yet, if that is fallout from the 4.0.x release or something else. But I guess it is from 4.0.xExpected Behavior
Compilation being successful
Steps To Reproduce
Building this package with
GCC 16.1(and one of the deps beinglibical 4.0.1as an explanation for the other errors)Operating System
Arch Linux
Version
No response
Anything else?
No response