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
|
# compat with various install paths
|
||||||
set(BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
|
set(BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
|
||||||
set(SBINDIR ${CMAKE_INSTALL_FULL_SBINDIR})
|
set(SBINDIR ${CMAKE_INSTALL_FULL_SBINDIR})
|
||||||
|
set(LIBDIR ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||||
set(ETCDIR ${CMAKE_INSTALL_PREFIX}/etc)
|
set(ETCDIR ${CMAKE_INSTALL_PREFIX}/etc)
|
||||||
set(ROOTFSDIR "/rootfs")
|
set(ROOTFSDIR "/rootfs")
|
||||||
if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")
|
if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")
|
||||||
@@ -237,7 +238,6 @@ else()
|
|||||||
set(KMODDIR "${CMAKE_INSTALL_PREFIX}/kmod")
|
set(KMODDIR "${CMAKE_INSTALL_PREFIX}/kmod")
|
||||||
set(MCKERNELDIR "${CMAKE_INSTALL_PREFIX}/${BUILD_TARGET}/kernel")
|
set(MCKERNELDIR "${CMAKE_INSTALL_PREFIX}/${BUILD_TARGET}/kernel")
|
||||||
endif()
|
endif()
|
||||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
|
||||||
|
|
||||||
# set rpath for everyone
|
# set rpath for everyone
|
||||||
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
|
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ cmake options. For example:
|
|||||||
%{?toolchain_file:-DCMAKE_TOOLCHAIN_FILE=%{toolchain_file}} \
|
%{?toolchain_file:-DCMAKE_TOOLCHAIN_FILE=%{toolchain_file}} \
|
||||||
-DENABLE_TOFU=ON -DENABLE_FUGAKU_HACKS=ON \
|
-DENABLE_TOFU=ON -DENABLE_FUGAKU_HACKS=ON \
|
||||||
-DENABLE_KRM_WORKAROUND=OFF -DWITH_KRM=ON \
|
-DENABLE_KRM_WORKAROUND=OFF -DWITH_KRM=ON \
|
||||||
-DENABLE_FUGAKU_DEBUG=OFF \
|
-DENABLE_FUGAKU_DEBUG=OFF -DENABLE_UTI=ON \
|
||||||
.
|
.
|
||||||
|
|
||||||
Create the rpm package:
|
Create the rpm package:
|
||||||
|
|||||||
@@ -33,17 +33,23 @@ if (ENABLE_UTI)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
# Install libuti.so.* into <prefix>/mck/ so that mcexec can
|
ExternalProject_Add(libuti
|
||||||
# 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
|
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/uti
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/uti
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/uti
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/uti
|
||||||
INSTALL_DIR ${prefix}
|
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/uti/configure --disable-static --with-rm=mckernel
|
||||||
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/uti/configure --prefix=<INSTALL_DIR> --libdir=<INSTALL_DIR>/lib64 --disable-static --with-rm=mckernel
|
|
||||||
BUILD_COMMAND ${MAKE}
|
BUILD_COMMAND ${MAKE}
|
||||||
BUILD_IN_SOURCE FALSE
|
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()
|
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 __global_ldflags ""
|
||||||
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -grecord-gcc-switches -mtune=generic
|
%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 \
|
%cmake -DCMAKE_BUILD_TYPE=Release \
|
||||||
-DUNAME_R=%{kernel_version} \
|
-DUNAME_R=%{kernel_version} \
|
||||||
-DKERNEL_DIR=%{kernel_dir} \
|
-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}} \
|
%{?toolchain_file:-DCMAKE_TOOLCHAIN_FILE=%{toolchain_file}} \
|
||||||
-DENABLE_TOFU=ON -DENABLE_FUGAKU_HACKS=ON \
|
-DENABLE_TOFU=ON -DENABLE_FUGAKU_HACKS=ON \
|
||||||
-DENABLE_KRM_WORKAROUND=OFF -DWITH_KRM=ON \
|
-DENABLE_KRM_WORKAROUND=OFF -DWITH_KRM=ON \
|
||||||
-DENABLE_FUGAKU_DEBUG=OFF \
|
-DENABLE_FUGAKU_DEBUG=OFF -DENABLE_UTI=ON \
|
||||||
.
|
..
|
||||||
%make_build
|
%make_build
|
||||||
|
popd
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
pushd build
|
||||||
%make_install
|
%make_install
|
||||||
|
popd
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%ifarch x86_64
|
%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_monitor.h
|
||||||
%{_includedir}/ihk/ihk_debug.h
|
%{_includedir}/ihk/ihk_debug.h
|
||||||
%{_includedir}/ihk/ihk_host_driver.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
|
/lib/modules/%{kernel_version}/extra/mckernel/ihk/linux/core/Module.symvers
|
||||||
|
|
||||||
# taken from /usr/lib/rpm/redhat/kmodtool (kernel_module_package)
|
# taken from /usr/lib/rpm/redhat/kmodtool (kernel_module_package)
|
||||||
|
|||||||
Reference in New Issue
Block a user