* Milan Crha:

> On Thu, 2023-11-30 at 18:09 +0100, Florian Weimer wrote:
>> Again, some of these are false positives. 
>
>       Hi,
> I think the errors from the configure time of the script are not always
> problems, are they? At least in the case of the evolution-data-server,
> it's half a problem and half expected.

Yes, we have definitely need an exception list for implicit function
declarations.

> Specifically, one "configure" (there is used CMake) check tries to
> figure out whether gethostbyname_r() has five arguments. It does not in
> Fedora, thus a) there are passed no enough arguments to the function;
> b) there are incompatible types passed to the function. Both are
> claimed by gcc. The second is due to the first. The result of this
> "source compiles" test is correct, the function does not have five
> arguments.

I don't see this.  The evolution-data-server-3.50.2-1.fc39 and
evolution-data-server-3.50.2-1.fc40 have this:

-- Performing Test HAVE_I_CAL_EMAIL_PARAMETER
-- Performing Test HAVE_I_CAL_EMAIL_PARAMETER - Success

While my test build has:

-- Performing Test HAVE_I_CAL_EMAIL_PARAMETER
-- Performing Test HAVE_I_CAL_EMAIL_PARAMETER - Failed

So the test outcome is altered by the new error.

Furthermore, in the YAML log, I don't see the second error about the
mismatching parameter count:

“
…-build/CMakeFiles/CMakeScratch/TryCompile-HmYCHv/src.c: In function ‘main’:
…-build/CMakeFiles/CMakeScratch/TryCompile-HmYCHv/src.c:5:39: error: assignment 
to ‘icalparameter *’ {aka ‘struct icalparameter_impl *’} from incompatible 
pointer type ‘ICalParameter *’
    5 |                                 param = 
i_cal_property_get_first_parameter (NULL, I_CAL_EMAIL_PARAMETER);
      |                                       ^
…-build/CMakeFiles/CMakeScratch/TryCompile-HmYCHv/src.c:6:60: error: passing 
argument 1 of ‘i_cal_parameter_get_email’ from incompatible pointer type
    6 |                                 i_cal_parameter_get_email (param);
      |                                                            ^~~~~
      |                                                            |
      |                                                            
icalparameter * {aka struct icalparameter_impl *}
In file included from /usr/include/libical-glib/i-cal-parameter.h:28,
                 from /usr/include/libical-glib/i-cal-component.h:27,
                 from /usr/include/libical-glib/libical-glib.h:34,
                 from …-build/CMakeFiles/CMakeScratch/TryCompile-HmYCHv/src.c:2:
/usr/include/libical-glib/i-cal-derived-parameter.h:399:71: note: expected 
‘const ICalParameter *’ but argument is of type ‘icalparameter *’ {aka ‘struct 
icalparameter_impl *’}
          399 | const gchar *   i_cal_parameter_get_email       (const 
ICalParameter *param);
              |                                                  
~~~~~~~~~~~~~~~~~~~~~^~~~~
”

The instrumented GCC can backpropagate certain errors and suppress the
logging of otherwise critical errors (even if they occurred earlier in
the file), including in some cases if there are too many function
arguments.  However, this suppression heuristic is presently incomplete.
But I don't think it matters here because there is no such error in the
CMake probe.

> Another "configure" check used incorrect arguments in error. I
> corrected it for the development version [1], which should be released
> at the beginning of the next year.

> [1] 
> https://gitlab.gnome.org/GNOME/evolution-data-server/-/commit/55558d3c23e68aada59c5deb59a664aea263f075

Ahh, sorry, I think I looked at this error because that's the only one
that makes it into the critical error log. 8-)

The first one you mentioned has probably been suppressed by the
heuristic.  Still sending this message because it might be helpful to
show how this works.

Thanks,
Florian
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to