diff --git a/papi-libversion.patch b/papi-libversion.patch new file mode 100644 index 0000000..3657927 --- /dev/null +++ b/papi-libversion.patch @@ -0,0 +1,46 @@ +commit d239c350a17b0e329223f62e7efc1f786e3e7ac7 +Author: William Cohen +Date: Wed Nov 7 13:31:50 2012 -0500 + + Factor out duplicate install code from Rules.pfm4_pe + + The Makefile.inc has a rule to installed shared libraries. However, + Rules.pfm4_pe also has a slightly different set of rules to install + code for shared libraries. This leads to the same shared library + being installed under two different names. The duplicate code has + been removed from Rules.pfm4_pe and a symbolic link has been added to + ensure that any code that might have linked with + libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE) still runs. + + Signed-off-by: William Cohen + +diff --git a/src/Makefile.inc b/src/Makefile.inc +index 1cdb270..e733ed9 100644 +--- a/src/Makefile.inc ++++ b/src/Makefile.inc +@@ -308,6 +308,7 @@ install-lib: native_install + @if test -r $(SHLIB) ; then \ + cp -p $(SHLIB) $(DESTDIR)$(LIBDIR)/libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE).$(PAPIINC); \ + chmod go+r $(DESTDIR)$(LIBDIR)/libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE).$(PAPIINC) ; \ ++ cd $(DESTDIR)$(LIBDIR); ln -sf libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE).$(PAPIINC) libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE); \ + cd $(DESTDIR)$(LIBDIR); ln -sf libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE).$(PAPIINC) libpapi.so.$(PAPIVER); \ + cd $(DESTDIR)$(LIBDIR); ln -sf libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE).$(PAPIINC) libpapi.so; \ + fi +diff --git a/src/Rules.pfm4_pe b/src/Rules.pfm4_pe +index 56a2f07..0f83ec4 100644 +--- a/src/Rules.pfm4_pe ++++ b/src/Rules.pfm4_pe +@@ -66,11 +66,8 @@ ifneq (,${PFM_ROOT}) + -$(MAKE) -C $(PFM_ROOT) ARCH="$(ARCH)" DESTDIR=$(DESTDIR) PREFIX=$(PREFIX) install_prefix=$(PREFIX) LIBDIR=$(LIBDIR) INCDIR=$(INCDIR) MANDIR=$(MANDIR) install + endif + -install -d $(DESTDIR)$(LIBDIR) +-ifneq (,$(findstring shared,$(LIBS))) +- cp -p $(SHLIB) $(DESTDIR)$(LIBDIR)/libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE) +- cd $(DESTDIR)$(LIBDIR); ln -sf libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE) libpapi.so.$(PAPIVER) +- cd $(DESTDIR)$(LIBDIR); ln -sf libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE) libpapi.so +-endif ++# Makefile.inc already has installation of shared libraries so ++# there is no need to do it here + -install -d $(DESTDIR)$(DATADIR) + cp -f ./papi_events.csv $(DESTDIR)$(DATADIR) + diff --git a/papi.spec b/papi.spec index 6c49692..c939cad 100644 --- a/papi.spec +++ b/papi.spec @@ -2,11 +2,12 @@ Summary: Performance Application Programming Interface Name: papi Version: 5.0.1 -Release: 2%{?dist} +Release: 3%{?dist} License: BSD Group: Development/System URL: http://icl.cs.utk.edu/papi/ Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz +Patch200: papi-libversion.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: ncurses-devel BuildRequires: gcc-gfortran @@ -48,6 +49,8 @@ the PAPI user-space libraries and interfaces. %prep %setup -q +%patch200 -p1 -b .visible + %build %if %{without bundled_libpfm} # Build our own copy of libpfm. @@ -109,6 +112,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Thu Nov 08 2012 William Cohen - 5.0.1-3 +- Avoid duplicated shared library. + * Wed Oct 03 2012 William Cohen - 5.0.1-2 - Make sure using compatible version of libpfm.