papi/papi-shlib.patch

47 lines
2.1 KiB
Diff

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