Don't run make tasks in background sub-shell
See below issue for detail: https://gitee.com/src-openeuler/openblas/issues/IB3EV0 Signed-off-by: Kai Liu <kai.liu@windriver.com>
This commit is contained in:
parent
dc20e01b06
commit
e13aed2d92
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Name: openblas
|
Name: openblas
|
||||||
Version: 0.3.25
|
Version: 0.3.25
|
||||||
Release: 4
|
Release: 5
|
||||||
Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://github.com/xianyi/OpenBLAS/
|
URL: https://github.com/xianyi/OpenBLAS/
|
||||||
@ -176,36 +176,36 @@ COMMON="%{optflags} -fPIC"
|
|||||||
FCOMMON="%{optflags} -fPIC -frecursive"
|
FCOMMON="%{optflags} -fPIC -frecursive"
|
||||||
export LDFLAGS="%{__global_ldflags}"
|
export LDFLAGS="%{__global_ldflags}"
|
||||||
|
|
||||||
(make -C Rblas $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0)&
|
make %{_smp_mflags} -C Rblas $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0
|
||||||
|
|
||||||
# Declare some necessary build flags
|
# Declare some necessary build flags
|
||||||
COMMON="%{optflags} -fPIC"
|
COMMON="%{optflags} -fPIC"
|
||||||
FCOMMON="$COMMON -frecursive"
|
FCOMMON="$COMMON -frecursive"
|
||||||
(make -C serial $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0)&
|
make %{_smp_mflags} -C serial $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0
|
||||||
(make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0)&
|
make %{_smp_mflags} -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0
|
||||||
|
|
||||||
# USE_THREAD determines use of SMP, not of pthreads
|
# USE_THREAD determines use of SMP, not of pthreads
|
||||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||||
FCOMMON="$COMMON -frecursive"
|
FCOMMON="$COMMON -frecursive"
|
||||||
(make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 %{with cpp_thread_check:CPP_THREAD_SAFETY_TEST=0})&
|
make %{_smp_mflags} -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 %{with cpp_thread_check:CPP_THREAD_SAFETY_TEST=0}
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC"
|
COMMON="%{optflags} -fPIC"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
(make -C serial64 $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1)&
|
make %{_smp_mflags} -C serial64 $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1
|
||||||
(make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1)&
|
make %{_smp_mflags} -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
(make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 CPP_THREAD_SAFETY_TEST=0)&
|
make %{_smp_mflags} -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 CPP_THREAD_SAFETY_TEST=0
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC"
|
COMMON="%{optflags} -fPIC"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
(make -C serial64_ $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_)&
|
make %{_smp_mflags} -C serial64_ $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
|
||||||
(make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_)&
|
make %{_smp_mflags} -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
(make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ CPP_THREAD_SAFETY_TEST=0)&
|
make %{_smp_mflags} -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ CPP_THREAD_SAFETY_TEST=0
|
||||||
wait
|
wait
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -216,7 +216,7 @@ TARGET="TARGET=RISCV64_GENERIC DYNAMIC_ARCH=0"
|
|||||||
%else
|
%else
|
||||||
TARGET=
|
TARGET=
|
||||||
%endif
|
%endif
|
||||||
make -C serial $TARGET USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install
|
make %{_smp_mflags} -C serial $TARGET USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install
|
||||||
|
|
||||||
# Copy lapacke include files
|
# Copy lapacke include files
|
||||||
%if %{with system_lapack} && %{lapacke}
|
%if %{with system_lapack} && %{lapacke}
|
||||||
@ -373,6 +373,11 @@ sed -i -e 's|%{buildroot}||' "%{buildroot}%{_libdir}/pkgconfig/%{name}.pc"
|
|||||||
%{_libdir}/lib%{name}*64_.so
|
%{_libdir}/lib%{name}*64_.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 11 2024 Kai Liu <kai.liu@windriver.com> - 0.3.25-5
|
||||||
|
- Don't run make tasks in background sub-shell, as this causes
|
||||||
|
severe issue. Use the _smp_mflags macro instead. See issue
|
||||||
|
IB3EV0 for more detail.
|
||||||
|
|
||||||
* Sat Sep 7 2024 Liu Chao <liuchao173@huawei.com> - 0.3.25-4
|
* Sat Sep 7 2024 Liu Chao <liuchao173@huawei.com> - 0.3.25-4
|
||||||
- delete the dependency on the devel package
|
- delete the dependency on the devel package
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user