[MacPorts] WimplicitFunctionDeclaration added

MacPorts Wiki noreply at macports.org
Mon Jan 24 04:41:54 UTC 2022


Page "WimplicitFunctionDeclaration" was added by JDLH
Comment: Initial content
Content:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
= WimplicitFunctionDeclaration =

WimplicitFunctionDeclaration is wiki shorthand for a particular error message, "Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled", sometimes seen in the configuration log of a port.  This page explains what you as a MacPorts user should understand about this message, and what helpful steps you can take.  It also explains to port maintainers, and the adventurer who wants to diagnose the problem behind the warning, the reason why the message appears, and how to pursue the problem to the upstream developers. 

TODO: write more page content. This is just an initial stub.

Email "Re: Warning: -Wimplicit-function-declaration" from Ryan Schmidt <ryandesign at macports.org> to MacPorts Users <macports-users at lists.macports.org> on Thu, 20 May 2021 01:05:07 -0500: 
    Sometimes programs are written to use functions before declaring them. This has not been correct ever since the introduction of the 1999 version of the C standard decades ago, but because it was allowed by the earlier 1989 C standard many C99 compilers still allowed this with a warning. But it can cause programs to crash or behave incorrectly on ARM processors, therefore to avoid problems on Apple Silicon Macs, the version of clang in included with Xcode 12 and later considers this to be an error. This causes some ports to fail to build. Worse, many configure tests have this problem, but when they fail, it doesn't cause configure to immediately fail and tell you that; instead, configure just makes wrong determinations about your system. In the best case, the build still succeeds and works fine. Or, the build fails with a bizarre error later. Or the build succeeds but is wrong.
    
    The message you're quoting is a new feature of MacPorts 2.7.0. It now notices when an implicit declaration of function error occurred during configuration, so that the port maintainer can investigate whether this is a problem. The port maintainer can then either fix the problem, or can mark the port to indicate that that particular implicit declaration of function does not represent a problem.

    If many programs check for functions which we know are not ever present on certain versions of macOS, then we can mark that in a central location rather than individually in each affected port.

-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://trac.macports.org/wiki/WimplicitFunctionDeclaration>
MacPorts <https://www.macports.org/>
Ports system for macOS

This is an automated message. Someone added your email address to be
notified of changes on 'WimplicitFunctionDeclaration' page.
If it was not you, please report to admin at macports.org.


More information about the macports-changes mailing list