resolves rhbz986673 - /usr/lib64/libpapi.so is unowned
This commit is contained in:
parent
c311b21be4
commit
cca5a3d460
46
papi-shlib.patch
Normal file
46
papi-shlib.patch
Normal file
@ -0,0 +1,46 @@
|
||||
commit f4ec143eef7b714718b766bdc641af7856a950af
|
||||
Author: William Cohen <wcohen@redhat.com>
|
||||
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 <wcohen@redhat.com>
|
||||
|
||||
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
|
17
papi.spec
17
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 <wcohen@redhat.com> - 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 <wcohen@redhat.com> - 5.1.1-4
|
||||
- Correct changelog.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user