resolve: rhbz872501

This commit is contained in:
William Cohen 2012-11-08 11:28:43 -05:00
parent 7ad445abe6
commit 361e069bd9
2 changed files with 53 additions and 1 deletions

46
papi-libversion.patch Normal file
View File

@ -0,0 +1,46 @@
commit d239c350a17b0e329223f62e7efc1f786e3e7ac7
Author: William Cohen <wcohen@redhat.com>
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 <wcohen@redhat.com>
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)

View File

@ -2,11 +2,12 @@
Summary: Performance Application Programming Interface Summary: Performance Application Programming Interface
Name: papi Name: papi
Version: 5.0.1 Version: 5.0.1
Release: 2%{?dist} Release: 3%{?dist}
License: BSD License: BSD
Group: Development/System Group: Development/System
URL: http://icl.cs.utk.edu/papi/ URL: http://icl.cs.utk.edu/papi/
Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz
Patch200: papi-libversion.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
@ -48,6 +49,8 @@ the PAPI user-space libraries and interfaces.
%prep %prep
%setup -q %setup -q
%patch200 -p1 -b .visible
%build %build
%if %{without bundled_libpfm} %if %{without bundled_libpfm}
# Build our own copy of libpfm. # Build our own copy of libpfm.
@ -109,6 +112,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/*.a %{_libdir}/*.a
%changelog %changelog
* Thu Nov 08 2012 William Cohen <wcohen@redhat.com> - 5.0.1-3
- Avoid duplicated shared library.
* Wed Oct 03 2012 William Cohen <wcohen@redhat.com> - 5.0.1-2 * Wed Oct 03 2012 William Cohen <wcohen@redhat.com> - 5.0.1-2
- Make sure using compatible version of libpfm. - Make sure using compatible version of libpfm.