This is an auto-filled bug because dev-util/perf calls cc directly. The issue was originally discovered on arm64, 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. NOTE: 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 aarch64-unknown-linux-gnu-gcc and by removing the /usr/bin/cc - /usr/bin/gcc binaries.
Created attachment 635722 [details] build.log build log and emerge --info
>> Compiling source in /var/tmp/portage/dev-util/perf-5.6.4/work/linux-5.6/tools/perf ... make -j96 V=1 VF=1 CC=aarch64-unknown-linux-gnu-gcc CXX=aarch64-unknown-linux-gnu-g++ AR=aarch64-unknown-linux-gnu-ar LD=aarch64-unknown-linux-gnu-ld prefix=/usr bindir_relative=bin 'EXTRA_CFLAGS=-O2 -pipe -march=native -g -ggdb -frecord-gcc-switches' ARCH=arm64 JDIR= LIBCLANGLLVM= NO_AUXTRACE= NO_BACKTRACE= NO_CORESIGHT=1 NO_DEMANGLE= NO_GTK2=no NO_JVMTI=no NO_LIBAUDIT=no NO_LIBBABELTRACE=1 NO_LIBBIONIC=1 NO_LIBBPF= NO_LIBCRYPTO= NO_LIBDW_DWARF_UNWIND= NO_LIBELF= NO_LIBNUMA=no NO_LIBPERL=no NO_LIBPYTHON=no NO_LIBUNWIND=no NO_SDT=no NO_SLANG=no NO_LZMA=no NO_ZLIB= WERROR=0 LIBDIR=/usr/libexec/perf-core -f Makefile.perf make -C /var/tmp/portage/dev-util/perf-5.6.4/work/linux-5.6/tools/build CFLAGS= LDFLAGS= fixdep make[1]: Entering directory '/var/tmp/portage/dev-util/perf-5.6.4/work/linux-5.6/tools/build' make -f /var/tmp/portage/dev-util/perf-5.6.4/work/linux-5.6/tools/build/Makefile.build dir=. obj=fixdep gcc -Wp,-MD,./.fixdep.o.d -Wp,-MT,fixdep.o -D"BUILD_STR(s)=#s" -c -o fixdep.o fixdep.c /bin/sh: gcc: command not found cat: ./.fixdep.o.d: No such file or directory make[2]: *** [/var/tmp/portage/dev-util/perf-5.6.4/work/linux-5.6/tools/build/Makefile.build:97: fixdep.o] Error 1 make[1]: *** [Makefile:43: fixdep-in.o] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-util/perf-5.6.4/work/linux-5.6/tools/build' make: *** [/var/tmp/portage/dev-util/perf-5.6.4/work/linux-5.6/tools/build/Makefile.include:5: fixdep] Error 2
Probably similar to bug #725878 where kernel-2.eclass was not setting HOSTCC. perf might need a bit more tweaking.
Looks like the only things needed are: - HOSTCC - HOSTLD - NM This patch gives me perf: --- a/dev-util/perf/perf-5.6.14.ebuild +++ b/dev-util/perf/perf-5.6.14.ebuild @@ -153,7 +153,8 @@ perf_make() { # FIXME: NO_CORESIGHT # FIXME: NO_LIBBABELTRACE emake V=1 VF=1 \ - CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" \ + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" NM="$(tc-getNM)" \ PKG_CONFIG="$(tc-getPKG_CONFIG)" \ prefix="${EPREFIX}/usr" bindir_relative="bin" \ EXTRA_CFLAGS="${CFLAGS}" \
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aec008bcfbd1bb4891d70e23f7857cbb3b9e8d88 commit aec008bcfbd1bb4891d70e23f7857cbb3b9e8d88 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-06-12 23:02:49 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-06-12 23:02:54 +0000 dev-util/perf: use user's CC in HOSTCC and friends Reported-by: Agostino Sarubbo Closes: https://bugs.gentoo.org/720698 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> dev-util/perf/perf-5.7-r1.ebuild | 237 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 237 insertions(+)