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

Bug 723152

Summary: dev-perl/Ace calls cc directly
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Gentoo Science Related Packages <sci>
Severity: normal CC: kentnl, perl
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 243502, 723238    
Attachments: build.log

Description Agostino Sarubbo gentoo-dev 2020-05-15 07:05:56 UTC
This is an auto-filled bug because dev-perl/Ace calls cc directly.
The issue was originally discovered on amd64, but it may be reproducible on other arches as well.
If you think that a different summary clarifies the issue better, feel free to change it.
Attached build log and emerge --info.

If you think it doesn't make sense fix these type of issues, I'd like to point out that won't be possible use a different CC implementation (like clang) by setting the CC variable. So this issue has been reproduced by setting the CC variable to x86_64-pc-linux-gnu-gcc and by removing the /usr/bin/cc - /usr/bin/gcc binaries.
Comment 1 Agostino Sarubbo gentoo-dev 2020-05-15 07:06:04 UTC
Created attachment 639138 [details]

build log and emerge --info
Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-05-15 14:10:48 UTC
Big ol' ball of fun in this one: 

./acelib/wmake/ALPHA_G3_DEF:COMPILER = gcc -g -DACEDB3
./acelib/wmake/ALPHA_G3_DEF:LINKER = gcc -g
./acelib/wmake/POSIX_4_DEF:COMPILER = cc -DACEDB4
./acelib/wmake/IRIX_DEF:COMPILER = cc -g -n32 DNO_LEFT_CASTING -DACEDB4
./acelib/wmake/IRIX_DEF:LINKER = cc -g
./acelib/wmake/SOLARIS_DEF:COMPILER = cc -O2 -I/usr/openwin/include -DNO_LEFT_CASTING -DACEDB4
./acelib/wmake/SOLARIS_DEF:LINKER = cc -L/usr/openwin/lib -R/usr/openwin/lib
./acelib/wmake/ALPHA_4_OSFV3_DEF:COMPILER = cc -g -std1 -ieee_with_inexact -DACEDB4
./acelib/wmake/ALPHA_4_OSFV3_DEF:LINKER = cc -g
./acelib/wmake/IRIX4_4_DEF:COMPILER = cc -g -DNO_LEFT_CASTING -DACEDB4 -Wf,-XNl4096
./acelib/wmake/IRIX4_4_DEF:LINKER = cc -g
./acelib/wmake/DEC_OSF_DEF:COMPILER = cc -O -Olimit 3000 -std1 -DACEDB4 -ieee_with_inexact
./acelib/wmake/SGI_4_GCC_DEF:########### for the SGI Silicon Graphics & gcc ##################
./acelib/wmake/SGI_4_GCC_DEF:COMPILER = gcc -g -DNO_LEFT_CASTING -Wall -DACEDB4
./acelib/wmake/SGI_4_GCC_DEF:LINKER = gcc -g
./acelib/wmake/LINUX_DEF:COMPILER = gcc -g -Wall -O2 -DACEDB4
./acelib/wmake/LINUX_DEF:LINKER = gcc -g
./acelib/wmake/SGI_4_IRIX5_DEF:LINKER = cc -g
./acelib/wmake/ALPHA_CHRONO_4_DEF:COMPILER = cc -g -std1 -DACEDB4 -DCHRONO
./acelib/wmake/SUNOS_DEF:#COMPILER = gcc -g -O2 -Wreturn-type -Wimplicit -Wunused -Wcomment \
./acelib/wmake/SUNOS_DEF:##COMPILER = gcc -g -O2 -Wreturn-type -Wimplicit -Wunused -Wcomment \
./acelib/wmake/SUNOS_DEF:COMPILER = gcc -g -O2 -Wall -fwritable-strings -DNOMEMMOVE -DACEDB4
./acelib/wmake/SUNOS_DEF:LINKER = gcc -g -static 
./acelib/wmake/LINUX_4_DEF:COMPILER = gcc -g -Wall -O2 -DACEDB4
./acelib/wmake/LINUX_4_DEF:LINKER = gcc -g
./acelib/wmake/SGI_4_DEF:# the native cc is recommended over gcc on Silicon Graphics
./acelib/wmake/SGI_4_DEF:COMPILER = cc -g -DNO_LEFT_CASTING -DACEDB4
./acelib/wmake/SGI_4_DEF:LINKER = cc -g
./acelib/wmake/HPUX_DEF:COMPILER = gcc -g -DNO_LEFT_CASTING -DACEDB4 -I/usr/include/X11R5 -I/usr/local/include/MIT/X11R5/include
./acelib/wmake/HPUX_DEF:LINKER = gcc -g -L/usr/lib/X11R5
./acelib/wmake/SOLARIS_4_DEF:COMPILER = gcc -g -DNO_LEFT_CASTING -O2 -Wall -I/usr/openwin/include -DACEDB4
./acelib/wmake/SOLARIS_4_DEF:LINKER = gcc -g
./acelib/wmake/SGI_DEF:# the native cc is recommended over gcc on Silicon Graphics
./acelib/wmake/SGI_DEF:LINKER = cc -g
./acelib/wmake/ALPHA_4_GCC_DEF:COMPILER = gcc -g -DACEDB4 -ansi -pedantic -Wall -Wnested-externs -ieee_with_inexact
./acelib/wmake/ALPHA_4_GCC_DEF:LINKER = gcc -g
./acelib/wmake/SOLARIS_7_gcc_DEF:# @(#)SOLARIS_7_gcc_DEF	1.1  4/11/95 
./acelib/wmake/SOLARIS_7_gcc_DEF:############### wmake/SOLARIS_7_gcc_DEF            ##############
./acelib/wmake/SOLARIS_7_gcc_DEF:COMPILER = gcc -O4 -fwritable-strings -I/usr/openwin/include -DACEDB4 -DHASVSPRINTF
./acelib/wmake/SOLARIS_7_gcc_DEF:LINKER = gcc -L/usr/openwin/lib -R/usr/openwin/lib
./acelib/wmake/LINUX_LIBC5_4_DEF:COMPILER = gcc -g -fwritable-strings -DACEDB4 -I.
./acelib/wmake/LINUX_LIBC5_4_DEF:LINKER = gcc -g
./acelib/wmake/SGI_4_NEW_DEF:COMPILER = cc -Wf,-XNh2000 -g -DNO_LEFT_CASTING -DACEDB4 -DNEW_MODELS -I.
./acelib/wmake/SGI_4_NEW_DEF:LINKER = cc -g
./acelib/wmake/POSIX_4_GCC_DEF:COMPILER = gcc -fwritable-strings -DACEDB4
./acelib/wmake/SOLARIS_4_RELEASE_DEF:COMPILER = gcc -g -O2 -I/usr/openwin/include -DNO_LEFT_CASTING -DACEDB4 -I.
./acelib/wmake/SOLARIS_4_RELEASE_DEF:LINKER = gcc -g -Xlinker -R -Xlinker /usr/openwin/lib -L/usr/openwin/lib
./acelib/wmake/ALPHA_4_DEF:COMPILER = cc -g -std1 -ieee_with_inexact -DACEDB4
./acelib/wmake/ALPHA_4_DEF:LINKER = cc -g
./acelib/wmake/SUN_4_DEF:#COMPILER = gcc -g -O2 -Wreturn-type -Wimplicit -Wunused -Wcomment \
./acelib/wmake/SUN_4_DEF:##COMPILER = gcc -g -O2 -Wreturn-type -Wimplicit -Wunused -Wcomment \
./acelib/wmake/SUN_4_DEF:COMPILER = gcc -g -O2 -Wall -fwritable-strings -DNOMEMMOVE -DACEDB4
./acelib/wmake/SUN_4_DEF:LINKER = gcc -g -static 
./acelib/wmake/ALPHA_4_NEW_DEF:COMPILER = cc -g -std1 -DACEDB4 -DNEW_MODELS
./acelib/wmake/SUN_4_NEW_DEF:COMPILER = gcc -g -Wreturn-type -Wimplicit -Wunused -Wcomment \
./acelib/wmake/SUN_4_NEW_DEF:LINKER = gcc -g -static
./acelib/wmake/HP_4_GCC_DEF:COMPILER = gcc -g -DNO_LEFT_CASTING -DACEDB4 -I/usr/include/X11R5 -I/usr/local/include/MIT/X11R5/include
./acelib/wmake/HP_4_GCC_DEF:LINKER = gcc -g -L/usr/lib/X11R5
./acelib/wmake/LINUX_MAC_4_DEF:COMPILER = gcc -g -fwritable-strings -DACEDB4 -I. -DLINUX_MAC
./acelib/wmake/LINUX_MAC_4_DEF:LINKER = gcc -g
./acelib/wmake/INTEL_SOLARIS_4_OPT_DEF:COMPILER = cc -xO4 -I/usr/openwin/include -DNO_LEFT_CASTING -DACEDB4
./acelib/wmake/INTEL_SOLARIS_4_OPT_DEF:LINKER = cc -L/usr/openwin/lib -R/usr/openwin/lib
./acelib/wmake/ALPHA_4_OPT_DEF:COMPILER = cc -O -Olimit 3000 -std1 -DACEDB4 -ieee_with_inexact
./acelib/wmake/SOLARIS_GCC_DEF:COMPILER = gcc -O2 -I/usr/openwin/include -DNO_LEFT_CASTING -DACEDB4
./acelib/wmake/SOLARIS_GCC_DEF:LINKER = gcc -L/usr/openwin/lib -R/usr/openwin/lib
./acelib/wmake/SOLARIS_4_OPT_DEF:COMPILER = cc -xO4 -I/usr/openwin/include -DNO_LEFT_CASTING -DACEDB4
./acelib/wmake/SOLARIS_4_OPT_DEF:LINKER = cc -L/usr/openwin/lib -R/usr/openwin/lib
./acelib/wmake/SGI_4_PURE_DEF:# the native cc is recommended over gcc on Silicon Graphics
./acelib/wmake/SGI_4_PURE_DEF:LINKER = purify -chain-length="10" cc -g
./acelib/wmake/SOLARIS_4_NEW_DEF:COMPILER = gcc -g -I/usr/openwin/include -DNO_LEFT_CASTING -DACEDB4 -DNEW_MODELS -I.
./acelib/wmake/SOLARIS_4_NEW_DEF:LINKER = gcc -g
Comment 3 Larry the Git Cow gentoo-dev 2020-06-20 03:23:58 UTC
The bug has been referenced in the following commit(s):

commit 5612f43dabdac343600e5293e9c97261f3edeafc
Author:     Kent Fredric <>
AuthorDate: 2020-05-17 19:19:32 +0000
Commit:     Kent Fredric <>
CommitDate: 2020-06-20 03:18:04 +0000

    dev-perl/Ace: Add CC/AR/LD/RANLIB toolchain love
    This logic is highly experimental, but it does work for me
    ( though I don't do what ago does with LD because its too spicy )
    This set of changes patches acelib so that all gcc/cc/ar calls
    can be overloaded externally, though this somewhat defeats the point
    of most of these files, as some of them only differed in wether they
    said "cc" or "gcc".
    The downside is I *had* to rework how the elibc_glibc block worked,
    because as it was *conditional*, and patched lines adjacent to the lines
    changed in -toolchain.patch, the existing patch could *only* be adapted
    to work dependent on the -toolchain patch.
    Instead, the essential variable overrides are performed externally
    via `make` arguments, as this has the same outcome.
    Any logic I didn't fully understand I left in place.
    And I had to get clever with names, because acelib already has an
    internal variable called "CC", and its value .... contains then entire
    set of compile parameters for the compiler!
    Also, the use of these TARGET_ seems to be less prone to conflict with
    values that do similar things in perl space, where doing something like
    LD="something-ld" can be fatal, as perl space doesn't expect LD to be an
    actaul LD, but a CCLD, and passes flags LD doesn't support.
    But there will *probably* be a few bugs in this approach, I'm no Make
    Package-Manager: Portage-2.3.99, Repoman-2.3.22
    Signed-off-by: Kent Fredric <>

 dev-perl/Ace/Ace-1.920.0-r5.ebuild          | 139 +++++++
 dev-perl/Ace/files/Ace-1.92-DARWIN_DEF      |   5 +
 dev-perl/Ace/files/Ace-1.92-toolchain.patch | 561 ++++++++++++++++++++++++++++
 3 files changed, 705 insertions(+)
Comment 4 Larry the Git Cow gentoo-dev 2020-08-06 15:55:14 UTC
The bug has been closed via the following commit(s):

commit f20b2d96120529ca33344e38840b454b56beff86
Author:     Kent Fredric <>
AuthorDate: 2020-08-06 15:53:22 +0000
Commit:     Kent Fredric <>
CommitDate: 2020-08-06 15:54:57 +0000

    dev-perl/Ace: Cleanup old 1.920.0-r{3,4,5}
    Package-Manager: Portage-2.3.103, Repoman-2.3.22
    Signed-off-by: Kent Fredric <>

 dev-perl/Ace/Ace-1.920.0-r3.ebuild        | 116 -------------------------
 dev-perl/Ace/Ace-1.920.0-r4.ebuild        | 137 -----------------------------
 dev-perl/Ace/Ace-1.920.0-r5.ebuild        | 139 ------------------------------
 dev-perl/Ace/files/Ace-1.92-glibc26.patch |  29 -------
 4 files changed, 421 deletions(-)