Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 906682 - dev-php/pecl-eio-3.0.0_rc4 has implicit function declarations in configure logs (MUSL-SYSTEM)
Summary: dev-php/pecl-eio-3.0.0_rc4 has implicit function declarations in configure lo...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Ruslan Osmanov
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks: implicit-in-configure
  Show dependency tree
 
Reported: 2023-05-18 17:17 UTC by Agostino Sarubbo
Modified: 2023-06-07 16:40 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,66.88 KB, text/plain)
2023-05-18 17:17 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2023-05-18 17:17:06 UTC
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.
Comment 1 Agostino Sarubbo gentoo-dev 2023-05-18 17:17:08 UTC
Created attachment 861897 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2023-05-18 17:17:09 UTC
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
Comment 3 Ruslan Osmanov 2023-05-29 15:41:44 UTC
(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.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-29 15:59:18 UTC
(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?
Comment 5 Ruslan Osmanov 2023-05-31 15:38:46 UTC
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?
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-01 03:18:49 UTC
(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).
Comment 7 Ruslan Osmanov 2023-06-01 12:25:04 UTC
(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?
Comment 8 Larry the Git Cow gentoo-dev 2023-06-07 16:40:08 UTC
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(-)