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

Bug 900346

Summary: dev-scheme/guile-2.2.7-r1 has implicit function declarations in configure logs (MUSL-CLANG-SYSTEM)
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Scheme Project <scheme>
Status: RESOLVED FIXED    
Severity: normal CC: eschwartz93
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 906027    
Attachments: build.log

Description Agostino Sarubbo gentoo-dev 2023-03-08 08:34:41 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-scheme/guile-2.2.7-r1 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-08 08:34:45 UTC
Created attachment 856780 [details]
build.log

build log and emerge --info
Comment 2 Larry the Git Cow gentoo-dev 2024-05-30 02:21:16 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12a43f5f35a998543b802c8c37c9908232010fbc

commit 12a43f5f35a998543b802c8c37c9908232010fbc
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2024-05-26 17:27:38 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-05-30 02:20:11 +0000

    dev-scheme/guile: fix implicit function decls in configure due to gnulib
    
    backport fix for round.m4, exit() -> return
    
    Also fix bashism:
    
    test $var = no
    
    fails if $var is only ever defined after this line. gnulib is brilliant
    software and naturally does exactly this, because it is highly logical
    to only define code after you try to use it.
    
    Probably.  It's hard to tell because the actual code that gets run is:
    
    func_gl_gnulib_m4code_5264294aa0a5557541b53c8c741f7f31
    
    since the other sparkling aspect of gnulib's innovative brilliance is
    the realization that *of course* the most robust way to design software
    is to use checksums as *replacements* for function names.
    
    Or, "that time Eli got jiatanned by gnulib".
    
    The quoting was silently "fixed" upstream in:
    https://github.com/coreutils/gnulib/commit/db1ee11e2168af7137db53289a92e306d2277b0b
    
    It is the same "fix" we do here, thus restoring dash <--> bash
    compatibility and preventing:
    
    ```
     * QA Notice: Abnormal configure code
     *
     * ./configure: 38012: test: =: unexpected operator
    ```
    
    although it seems to me gnulib is just more generally broken.
    
    Closes: https://bugs.gentoo.org/900346
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 .../guile/files/guile-2.2.7-fix-buggy-gnulib.patch | 85 ++++++++++++++++++++
 dev-scheme/guile/guile-2.2.7-r2.ebuild             | 90 ++++++++++++++++++++++
 2 files changed, 175 insertions(+)