Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 898814

Summary: dev-lang/php-8.2.3 has implicit function declarations in configure logs (MUSL-CLANG-SYSTEM)
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: PHP Bugs <php-bugs>
Status: RESOLVED UPSTREAM    
Severity: normal CC: mjo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://github.com/php/php-src/issues/10751
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 870412    
Attachments: build.log.xz

Description Agostino Sarubbo gentoo-dev 2023-03-02 09:36:21 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-lang/php-8.2.3 has implicit function declarations in configure logs (MUSL-CLANG-SYSTEM).
Discovered on: amd64 (internal ref: tinderbox_musl)

NOTE:
(MUSL-CLANG-SYSTEM) in the summary means that bug was found on a machine that runs MUSL libc + clang16 but this bug MAY or MAY NOT BE related to musl/clang16.
See also: https://bugs.gentoo.org/898488#c4.
Comment 1 Agostino Sarubbo gentoo-dev 2023-03-02 09:36:23 UTC
Created attachment 855688 [details]
build.log.xz

build log and emerge --info (compressed because it exceeds attachment limit, use 'xzless' to read it)
Comment 2 Michael Orlitzky gentoo-dev 2023-03-02 13:09:40 UTC
 * QA Notice: Found the following implicit function declarations in configure logs:
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/fpm/config.log:2529 - printf
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/fpm/config.log:2805 - iconv_ccs_init
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/fpm/config.log:3083 - cstoccsid
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/fpm/config.log:13024 - _controlfp
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/fpm/config.log:13390 - _controlfp_s
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/cli/config.log:6528 - __crc32d
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/cli/config.log:8010 - printf
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/cli/config.log:8270 - iconv_ccs_init
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/cli/config.log:8532 - cstoccsid
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/cli/config.log:20574 - _controlfp
 *   /var/tmp/portage/dev-lang/php-8.2.3/work/sapis-build/cli/config.log:20925 - _controlfp_s
 * Check that no features were accidentally disabled.
 * See https://wiki.gentoo.org/wiki/Modern_C_porting.
Comment 3 Michael Orlitzky gentoo-dev 2023-03-02 13:24:22 UTC
I'll take a second opinion, but I looked through these and most look OK, e.g.

    if test -z "$iconv_impl_name"; then
      AC_MSG_CHECKING([if iconv is Konstantin Chuguev's])
      AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]], [[iconv_ccs_init(NULL, NULL);]])],[                                                              
        AC_MSG_RESULT(yes)
        iconv_impl_name="bsd"
      ],[
        AC_MSG_RESULT(no)
      ])
    fi

That fails to compile (instead of failing to link) when iconv_ccs_init() is not defined in iconv.h, but it's still the correct result.

On the other hand, I'll bet this,

  AC_RUN_IFELSE([AC_LANG_SOURCE([[
  #include <iconv.h>                                                              
  int main() {
    printf("%d", _libiconv_version);
    return 0;
  }

is missing stdio.h (for printf).

Moreover I spotted a few

  int main() { ... }

in the m4 files that will need to be updated with the correct signature.
Comment 4 Michael Orlitzky gentoo-dev 2023-03-17 15:51:45 UTC
This was merged upstream, but the patch doesn't apply cleanly to v8.2.4, and I don't the issue is serious enough to justify backporting it.