https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: dev-php/pecl-eio-3.0.0_rc4 has implicit function declarations in configure logs (MUSL-SYSTEM). Discovered on: amd64 (internal ref: tinderbox_musl) NOTE: (MUSL-SYSTEM) in the summary means that bug was found on a machine that runs MUSL libc but this bug MAY or MAY NOT BE related to musl. See also: https://bugs.gentoo.org/898488#c4.
Created attachment 861897 [details] build.log build log and emerge --info
Found the following implicit function declarations in configure logs: config.log:367 - readahead config.log:454 - sync_file_range config.log:506 - fallocate config.log:545 - splice config.log:557 - tee config.log:570 - vmsplice config.log:328 - readahead config.log:415 - sync_file_range config.log:467 - fallocate config.log:506 - splice config.log:518 - tee config.log:531 - vmsplice
(In reply to Agostino Sarubbo from comment #2) > Found the following implicit function declarations in configure logs: > > config.log:367 - readahead > config.log:454 - sync_file_range > config.log:506 - fallocate > config.log:545 - splice > config.log:557 - tee > config.log:570 - vmsplice > config.log:328 - readahead > config.log:415 - sync_file_range > config.log:467 - fallocate > config.log:506 - splice > config.log:518 - tee > config.log:531 - vmsplice There is nothing unexpected about these warnings because they come from the function existence checks performed by the m4 macro AC_CACHE_CHECK in the libeio/libeio.m4 file. Here is a sample snippet from the config.log for "readahead": configure:4938: checking for readahead configure:4958: x86_64-gentoo-linux-musl-cc -o conftest -O2 -pipe -Wl,-O1 -Wl,--as-needed conftest.c >&5 conftest.c: In function 'main': conftest.c:33:4: error: unknown type name 'size_t' 33 | size_t count = 2; | ^~~~~~ conftest.c:30:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'? 29 | #include <fcntl.h> 30 | int main (void) conftest.c:34:4: error: unknown type name 'ssize_t' 34 | ssize_t res; | ^~~~~~~ conftest.c:35:10: warning: implicit declaration of function 'readahead' [-Wimplicit-function-declaration] 35 | res = readahead (fd, 0, count); | ^~~~~~~~~ ... ac_cv_readahead=no And the configure script prints finally "checking for readahead... no". The rest of the functions are checked similarly. I don't know what to do with this ticket so leaving it open.
(In reply to Ruslan Osmanov from comment #3) > > Here is a sample snippet from the config.log for "readahead": > > configure:4938: checking for readahead > configure:4958: x86_64-gentoo-linux-musl-cc -o conftest -O2 -pipe -Wl,-O1 > -Wl,--as-needed conftest.c >&5 > conftest.c: In function 'main': > conftest.c:33:4: error: unknown type name 'size_t' > 33 | size_t count = 2; > | ^~~~~~ > conftest.c:30:1: note: 'size_t' is defined in header '<stddef.h>'; did you > forget to '#include <stddef.h>'? > 29 | #include <fcntl.h> > 30 | int main (void) > conftest.c:34:4: error: unknown type name 'ssize_t' > 34 | ssize_t res; > | ^~~~~~~ > conftest.c:35:10: warning: implicit declaration of function 'readahead' > [-Wimplicit-function-declaration] > 35 | res = readahead (fd, 0, count); > | ^~~~~~~~~ > ... > ac_cv_readahead=no > > And the configure script prints finally "checking for readahead... no". > But musl *does* have readahead? There's a missing #include <stddef.h> in the configure test, as well as a missing _GNU_SOURCE, I think?
Yes, these functions should have been detected. So it's a bug. I've fixed that in the PECL package version 3.1.0RC1 (https://pecl.php.net/package/eio/3.1.0RC1). Can I use this opportunity to request a version bump?
(In reply to Ruslan Osmanov from comment #5) > Yes, these functions should have been detected. So it's a bug. > > I've fixed that in the PECL package version 3.1.0RC1 > (https://pecl.php.net/package/eio/3.1.0RC1). Can I use this opportunity to > request a version bump? You appear to be the maintainer of this package in Gentoo, so you can submit bumps for it via (ideally) github PRs, or via git-send-email to the gentoo proxy maint ML. You can bump to whichever versions you please as long as they're not too experimental for users (e.g. RCs are usually masked or unkeyworded but if you're upstream then it's less likely to be a problem).
(In reply to Sam James from comment #6) > > You appear to be the maintainer of this package in Gentoo, so you can submit > bumps for it via (ideally) github PRs, or via git-send-email to the gentoo > proxy maint ML. > > You can bump to whichever versions you please as long as they're not too > experimental for users (e.g. RCs are usually masked or unkeyworded but if > you're upstream then it's less likely to be a problem). I've created a pull request here: https://github.com/gentoo/gentoo/pull/31263. All checks passed. What should I do next?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8a2b7ab5d58a89373b159016d5c217fa1c415ba commit b8a2b7ab5d58a89373b159016d5c217fa1c415ba Author: Ruslan Osmanov <rrosmanov@gmail.com> AuthorDate: 2023-06-01 10:41:02 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-06-07 16:39:48 +0000 dev-php/pecl-eio: version bump to 3.1.0_rc1 Bump the PECL package version to 3.1.0RC1. This also fixes bug 906682. Closes: https://bugs.gentoo.org/906682 Signed-off-by: Ruslan Osmanov <rrosmanov@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/31263 Signed-off-by: Sam James <sam@gentoo.org> dev-php/pecl-eio/Manifest | 1 + dev-php/pecl-eio/metadata.xml | 16 +++++++-------- dev-php/pecl-eio/pecl-eio-3.1.0_rc1.ebuild | 31 ++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 8 deletions(-)