From 6c54b9780d73c6d8bbb42ebef83dabcd03f669e4 Mon Sep 17 00:00:00 2001 From: sagitter Date: Sat, 24 Feb 2018 00:35:31 +0100 Subject: [PATCH] Force default ldflags for Fedora (bz#1548533) --- hdf5.spec | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/hdf5.spec b/hdf5.spec index bd7183f..a48cba6 100644 --- a/hdf5.spec +++ b/hdf5.spec @@ -3,15 +3,15 @@ # Patch version? %global snaprel %{nil} -# NOTE: Try not to release new versions to released versions of Fedora +# NOTE: Try not to release new versions to released versions of Fedora # You need to recompile all users of HDF5 for each version change Name: hdf5 Version: 1.8.20 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A general purpose library and file format for storing scientific data License: BSD Group: System Environment/Libraries -URL: http://www.hdfgroup.org/HDF5/ +URL: https://portal.hdfgroup.org/display/HDF5/HDF5 Source0: https://support.hdfgroup.org/ftp/HDF5/current18/src/hdf5-%{version}%{?snaprel}.tar.bz2 Source1: h5comp @@ -33,6 +33,7 @@ BuildRequires: libtool # Needed for mpi tests BuildRequires: openssh-clients BuildRequires: libaec-devel +BuildRequires: gcc, gcc-c++ %global with_mpich 1 %global with_openmpi 1 @@ -72,6 +73,7 @@ Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: libaec-devel%{?_isa} Requires: zlib-devel%{?_isa} +Requires: gcc-gfortran%{?_isa} %description devel HDF5 development headers and libraries. @@ -162,10 +164,13 @@ HDF5 parallel openmpi static libraries %patch1 -p1 -b .mpi %patch2 -p1 -b .implicit %patch3 -p1 -b .ldouble-ppc64le + # Force shared by default for compiler wrappers (bug #1266645) sed -i -e '/^STATIC_AVAILABLE=/s/=.*/=no/' */*/h5[cf]*.in autoreconf -f -i +# Modify low optimization level for gnu compilers +sed -e 's|-O -finline-functions|-O3 -finline-functions|g' -i config/gnu-flags %build #Do out of tree builds @@ -180,26 +185,29 @@ autoreconf -f -i --with-szlib \\\ %{nil} # --enable-cxx and --enable-parallel flags are incompatible -# --with-mpe=DIR Use MPE instrumentation [default=no] +# --with-mpe=DIR Use MPE instrumentation [default=no] # --enable-cxx/fortran/parallel and --enable-threadsafe flags are incompatible #Serial build export CC=gcc export CXX=g++ export F9X=gfortran +export LDFLAGS="%{__global_ldflags} -fPIC -Wl,-z,now -Wl,--as-needed" mkdir build pushd build ln -s ../configure . %configure \ %{configure_opts} \ --enable-cxx -make +sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool +make LDFLAGS="%{__global_ldflags} -fPIC -Wl,-z,now -Wl,--as-needed" popd #MPI builds export CC=mpicc export CXX=mpicxx export F9X=mpif90 +export LDFLAGS="%{__global_ldflags} -fPIC -Wl,-z,now -Wl,--as-needed" for mpi in %{?mpi_list} do mkdir $mpi @@ -217,7 +225,8 @@ do --includedir=%{_includedir}/$mpi-%{_arch} \ --datarootdir=%{_libdir}/$mpi/share \ --mandir=%{_libdir}/$mpi/share/man - make + sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool + make LDFLAGS="%{__global_ldflags} -fPIC -Wl,-z,now -Wl,--as-needed" module purge popd done @@ -268,7 +277,7 @@ done mkdir -p ${RPM_BUILD_ROOT}%{macrosdir} cat > ${RPM_BUILD_ROOT}%{macrosdir}/macros.hdf5 < - 1.8.20-3 +- Force default ldflags for Fedora (bz#1548533) +- Switch -shared flag to -Wl,--as-needed +- Modify low optimization level for gnu compilers +- New URL + * Tue Feb 20 2018 Antonio Trande - 1.8.20-2 - Devel package with full versioned dependency - Use %%make_install