I sent part of this to the devel list by mistake, correcting and
sending to the kernel list.
Hi,
When building the kernel with perf enabled from the src.rpm
kernel-5.9.0-0.rc6.20200925git171d4ff79f96.17.fc34.src.rpm
I get an error. There seems to be an error in one of the build
scripts. This was not a problem in src.rpm for
kernel-5.9.0-0.rc4.20200911git581cb3a26baf.8.fc34.src.rpm
The error seems to be in a script, and looks like a typo,
+ +# perf
/var/tmp/rpm-tmp.bbuLwN: line 499: +#: command not found
error: Bad exit status from /var/tmp/rpm-tmp.bbuLwN (%build)
Bad exit status from /var/tmp/rpm-tmp.bbuLwN (%build)
When I look in that temporary file, I find this, with the error line
marked by <<<<<<---- error:
###
# DO it...
###
# prepare directories
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/boot
mkdir -p $RPM_BUILD_ROOT/usr/libexec
cd linux-5.9.0-0.rc6.20200925git171d4ff79f96.17.20200927.fc31.x86_64
BuildKernel bzImage arch/x86/boot/bzImage 1
+# perf <<<<<<<<----
error
# make sure check-headers.sh is executable
chmod +x tools/perf/check-headers.sh
/usr/bin/make -s EXTRA_CFLAGS="${RPM_OPT_FLAGS}"
LDFLAGS="-Wl,-z,relro -Wl,--as-needed -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld" -C tools/perf V=1
NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1
HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=/usr
PYTHON=/usr/bin/python3 DESTDIR=$RPM_BUILD_ROOT all
That is in the spec file, but the error isn't in the spec file.
It doesn't have the + in front of the # in the spec file.
###
# DO it...
###
# prepare directories
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/boot
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
cd linux-%{KVERREL}
%if %{with_debug}
BuildKernel %make_target %kernel_image %{_use_vdso} debug
%endif
%if %{with_zfcpdump}
BuildKernel %make_target %kernel_image %{_use_vdso} zfcpdump
%endif
%if %{with_pae}
BuildKernel %make_target %kernel_image %{use_vdso} lpae
%endif
%if %{with_up}
BuildKernel %make_target %kernel_image %{_use_vdso}
%endif
%global perf_make \
%{__make} -s EXTRA_CFLAGS="${RPM_OPT_FLAGS}"
LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/perf V=1
NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1
NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=%{_prefix} PYTHON=%{__python3}
%if %{with_perf}
+%global _lto_cflags %{nil}
# perf
# make sure check-headers.sh is executable
chmod +x tools/perf/check-headers.sh
%{perf_make} DESTDIR=$RPM_BUILD_ROOT all
%endif
%global tools_make \
%{make} CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" V=1
Thanks for any insight.