diff --git a/papi-shlib.patch b/papi-shlib.patch new file mode 100644 index 0000000..c9fdf71 --- /dev/null +++ b/papi-shlib.patch @@ -0,0 +1,46 @@ +commit f4ec143eef7b714718b766bdc641af7856a950af +Author: William Cohen +Date: Mon Jul 22 12:26:02 2013 -0400 + + Correct versioning of libpapi.so + + The configure for linux always set the soname to libpapi.so. This + causes problems when /sbin/ldconfig tries to update the library + information on linux. The shared library is installed as + /lib{64}/libpapi.so.$VERSION, but the shared library has the soname of + libpapi.so. ldconfig makes a symbolic link from /lib/libpapi.so to + the actual versioned shared library, /lib/{64}/libpapi.so$VERSION. + The configure should get the soname correct to avoid creating this + symbolic link. + + This patch only addresses the issues for some of the possible + platforms and similar patches may be needed for other platforms. + + Signed-off-by: William Cohen + +diff --git a/src/configure.in b/src/configure.in +index 4bee24d..b5a6c80 100644 +--- a/src/configure.in ++++ b/src/configure.in +@@ -1234,10 +1234,10 @@ CTEST_TARGETS="papi_api serial forkexec_tests overflow_tests profile_tests attac + FTEST_TARGETS="all" + UTIL_TARGETS="papi_avail papi_mem_info papi_cost papi_clockres papi_native_avail papi_command_line papi_event_chooser papi_decode papi_xml_event_info papi_version papi_multiplex_cost papi_component_avail papi_error_codes" + LIBRARY=libpapi.a +-SHLIB='libpapi.so.$(PAPIVER)' ++SHLIB='libpapi.so.AC_PACKAGE_VERSION' + OMPCFLGS=-fopenmp + CC_R='$(CC) -pthread' +-CC_SHR='$(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so -Xlinker "-rpath" -Xlinker "$(LIBDIR)"' ++CC_SHR='$(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,$(SHLIB) -Xlinker "-rpath" -Xlinker "$(LIBDIR)"' + if test "$CC_COMMON_NAME" = "gcc"; then + if test "$bitmode" = "32"; then + BITFLAGS=-m32 +@@ -1383,7 +1383,7 @@ elif test "$MAKEVER" = "bgp"; then + SHLIB=libpapi.so + DESCR="Linux for BlueGene/P" + LIBS=static +- CC_SHR='$(CC) -shared -Xlinker "-soname" -Xlinker "libpapi.so" -Xlinker "-rpath" -Xlinker "$(LIBDIR)"' ++ CC_SHR='$(CC) -shared -Xlinker "-soname" -Xlinker "$(SHLIB)" -Xlinker "-rpath" -Xlinker "$(LIBDIR)"' + OMPCFLGS="" + + elif test "$MAKEVER" = "bgq"; then diff --git a/papi.spec b/papi.spec index 8462024..196c4ca 100644 --- a/papi.spec +++ b/papi.spec @@ -2,7 +2,7 @@ Summary: Performance Application Programming Interface Name: papi Version: 5.1.1 -Release: 4%{?dist} +Release: 5%{?dist} License: BSD Group: Development/System URL: http://icl.cs.utk.edu/papi/ @@ -10,6 +10,7 @@ Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz Patch200: papi-testsuite1.patch Patch210: papi-native-option.patch Patch211: papi-man.patch +Patch212: papi-shlib.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: doxygen BuildRequires: ncurses-devel @@ -63,6 +64,7 @@ the PAPI user-space libraries and interfaces. %patch200 -p1 %patch210 -p1 %patch211 -p1 +%patch212 -p1 -b .shlib %build %if %{without bundled_libpfm} @@ -71,6 +73,7 @@ the PAPI user-space libraries and interfaces. %endif cd src +autoconf %configure --with-perf-events \ %{?libpfm_config} \ --with-static-lib=yes --with-shared-lib=yes --with-shlib \ @@ -94,8 +97,8 @@ DBG="" make %{?_smp_mflags} #generate updated versions of the documentation #DBG workaround to make sure libpfm just uses the normal CFLAGS pushd ../doc -DBG="" make %{?_smp_mflags} -DBG="" make %{?_smp_mflags} install +DBG="" make +DBG="" make install popd %install @@ -114,7 +117,8 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %{_bindir}/* %{_libdir}/*.so.* -/usr/share/papi +%dir /usr/share/papi +/usr/share/papi/papi_events.csv %doc INSTALL.txt README LICENSE.txt RELEASENOTES.txt %doc %{_mandir}/man1/* @@ -140,6 +144,11 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Mon Jul 22 2013 William Cohen - 5.1.1-5 +- rhbz986673 - /usr/lib64/libpapi.so is unowned +- Package files in /usr/share/papi only once. +- Avoid dependency problem with parallel make of man pages. + * Fri Jul 19 2013 William Cohen - 5.1.1-4 - Correct changelog.