uti: fix rpmbuild
Change-Id: I0cc60d2b38b184168a99a4778fbb5a437278da29
This commit is contained in:
@@ -228,6 +228,7 @@ math(EXPR LINUX_VERSION_CODE "${LINUX_VERSION_MAJOR} * 65536 + ${LINUX_VERSION_M
|
||||
# compat with various install paths
|
||||
set(BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
set(SBINDIR ${CMAKE_INSTALL_FULL_SBINDIR})
|
||||
set(LIBDIR ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||
set(ETCDIR ${CMAKE_INSTALL_PREFIX}/etc)
|
||||
set(ROOTFSDIR "/rootfs")
|
||||
if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")
|
||||
@@ -237,7 +238,6 @@ else()
|
||||
set(KMODDIR "${CMAKE_INSTALL_PREFIX}/kmod")
|
||||
set(MCKERNELDIR "${CMAKE_INSTALL_PREFIX}/${BUILD_TARGET}/kernel")
|
||||
endif()
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
# set rpath for everyone
|
||||
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||
|
||||
@@ -142,7 +142,7 @@ cmake options. For example:
|
||||
%{?toolchain_file:-DCMAKE_TOOLCHAIN_FILE=%{toolchain_file}} \
|
||||
-DENABLE_TOFU=ON -DENABLE_FUGAKU_HACKS=ON \
|
||||
-DENABLE_KRM_WORKAROUND=OFF -DWITH_KRM=ON \
|
||||
-DENABLE_FUGAKU_DEBUG=OFF \
|
||||
-DENABLE_FUGAKU_DEBUG=OFF -DENABLE_UTI=ON \
|
||||
.
|
||||
|
||||
Create the rpm package:
|
||||
|
||||
@@ -33,17 +33,23 @@ if (ENABLE_UTI)
|
||||
endif()
|
||||
|
||||
include(ExternalProject)
|
||||
# Install libuti.so.* into <prefix>/mck/ so that mcexec can
|
||||
# redirect ld*.so's access to it. In this way, a.out created
|
||||
# by Fujitsu MPI and linked to libuti.so in the standard path
|
||||
# can use the McKernel version when invoked through mcexec.
|
||||
ExternalProject_Add(libuti
|
||||
ExternalProject_Add(libuti
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/uti
|
||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/uti
|
||||
INSTALL_DIR ${prefix}
|
||||
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/uti/configure --prefix=<INSTALL_DIR> --libdir=<INSTALL_DIR>/lib64 --disable-static --with-rm=mckernel
|
||||
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/uti/configure --disable-static --with-rm=mckernel
|
||||
BUILD_COMMAND ${MAKE}
|
||||
BUILD_IN_SOURCE FALSE
|
||||
INSTALL_COMMAND ${MAKE} install && bash -c "rm ${prefix}/include/uti.h ${prefix}/lib64/libuti.la && [[ -d ${prefix}/lib64/mck ]] || mkdir ${prefix}/lib64/mck && mv ${prefix}/lib64/libuti.* ${prefix}/lib64/mck"
|
||||
)
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
|
||||
# Install libuti.so.* into /usr/lib64/mck/ so that mcexec can
|
||||
# redirect /usr/lib64/ to /usr/lib64/mck/. In this way, a.out created
|
||||
# by Fujitsu MPICC and thus linked to /usr/lib64/libuti.so
|
||||
# can be linked to /usr/lib64/mck/libuti.so when invoked via mcexec.
|
||||
ExternalProject_Get_Property(libuti BINARY_DIR)
|
||||
foreach(target IN ITEMS libuti.so.1.0.0 libuti.so.1 libuti.so)
|
||||
add_custom_target(${target} ALL COMMAND bash -c "cp -P ${BINARY_DIR}/lib/.libs/${target} ${CMAKE_CURRENT_BINARY_DIR}")
|
||||
add_dependencies(${target} libuti)
|
||||
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${target} DESTINATION "${LIBDIR}/mck")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
Submodule executer/user/lib/syscall_intercept updated: 13e8ed10a0...66a47ceb1c
@@ -69,6 +69,8 @@ This package contains headers and libraries required for build apps using IHK/Mc
|
||||
%define __global_ldflags ""
|
||||
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -grecord-gcc-switches -mtune=generic
|
||||
|
||||
mkdir build
|
||||
pushd build
|
||||
%cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DUNAME_R=%{kernel_version} \
|
||||
-DKERNEL_DIR=%{kernel_dir} \
|
||||
@@ -77,12 +79,15 @@ This package contains headers and libraries required for build apps using IHK/Mc
|
||||
%{?toolchain_file:-DCMAKE_TOOLCHAIN_FILE=%{toolchain_file}} \
|
||||
-DENABLE_TOFU=ON -DENABLE_FUGAKU_HACKS=ON \
|
||||
-DENABLE_KRM_WORKAROUND=OFF -DWITH_KRM=ON \
|
||||
-DENABLE_FUGAKU_DEBUG=OFF \
|
||||
.
|
||||
-DENABLE_FUGAKU_DEBUG=OFF -DENABLE_UTI=ON \
|
||||
..
|
||||
%make_build
|
||||
popd
|
||||
|
||||
%install
|
||||
pushd build
|
||||
%make_install
|
||||
popd
|
||||
|
||||
%files
|
||||
%ifarch x86_64
|
||||
@@ -138,9 +143,6 @@ This package contains headers and libraries required for build apps using IHK/Mc
|
||||
%{_includedir}/ihk/ihk_monitor.h
|
||||
%{_includedir}/ihk/ihk_debug.h
|
||||
%{_includedir}/ihk/ihk_host_driver.h
|
||||
%{_includedir}/libsyscall_intercept_hook_point.h
|
||||
%{_libdir}/pkgconfig/libsyscall_intercept.pc
|
||||
%{_mandir}/man3/libsyscall_intercept.3
|
||||
/lib/modules/%{kernel_version}/extra/mckernel/ihk/linux/core/Module.symvers
|
||||
|
||||
# taken from /usr/lib/rpm/redhat/kmodtool (kernel_module_package)
|
||||
|
||||
Reference in New Issue
Block a user