blob: 49e8166c50bb3443b2dc7d68e617dd2e0af7bbb0 [file] [log] [blame]
diff --git a/BUILDING.txt b/BUILDING.txt
index 9d40d24524e..cb3d68edfff 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -422,6 +422,47 @@ Building command example:
Note that the command above manually specified the openssl library and include
path. This is necessary at least for Homebrewed OpenSSL.
+
+----------------------------------------------------------------------------------
+
+Building on CentOS 8
+
+----------------------------------------------------------------------------------
+
+
+* Install development tools such as GCC, autotools, OpenJDK and Maven.
+ $ sudo dnf group install 'Development Tools'
+ $ sudo dnf install java-1.8.0-openjdk-devel maven
+
+* Install Protocol Buffers v2.5.0.
+ $ git clone https://github.com/protocolbuffers/protobuf
+ $ cd protobuf
+ $ git checkout v2.5.0
+ $ autoreconf -i
+ $ ./configure --prefix=/usr/local
+ $ make
+ $ sudo make install
+ $ cd ..
+
+* Install libraries provided by CentOS 8.
+ $ sudo dnf install libtirpc-devel zlib-devel lz4-devel bzip2-devel openssl-devel cyrus-sasl-devel libpmem-devel
+
+* Install optional dependencies (snappy-devel).
+ $ sudo dnf --enablerepo=PowerTools snappy-devel
+
+* Install optional dependencies (libzstd-devel).
+ $ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
+ $ sudo dnf --enablerepo=epel install libzstd-devel
+
+* Install optional dependencies (isa-l).
+ $ sudo dnf --enablerepo=PowerTools install nasm
+ $ git clone https://github.com/intel/isa-l
+ $ cd isa-l/
+ $ ./autogen.sh
+ $ ./configure
+ $ make
+ $ sudo make install
+
----------------------------------------------------------------------------------
Building on Windows
diff --git a/hadoop-tools/hadoop-pipes/src/CMakeLists.txt b/hadoop-tools/hadoop-pipes/src/CMakeLists.txt
index ff660bfafce..ce6ee317936 100644
--- a/hadoop-tools/hadoop-pipes/src/CMakeLists.txt
+++ b/hadoop-tools/hadoop-pipes/src/CMakeLists.txt
@@ -22,6 +22,25 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../../../hadoop-common-project
include(HadoopCommon)
find_package(OpenSSL REQUIRED)
+find_package(PkgConfig QUIET)
+pkg_check_modules(LIBTIRPC libtirpc)
+
+find_path(RPC_INCLUDE_DIRS NAMES rpc/rpc.h)
+
+if (NOT RPC_INCLUDE_DIRS)
+ find_path(TIRPC_INCLUDE_DIRS
+ NAMES netconfig.h
+ PATH_SUFFIXES tirpc
+ HINTS ${LIBTIRPC_INCLUDE_DIRS}
+ )
+
+ find_library(TIRPC_LIBRARIES
+ NAMES tirpc
+ HINTS ${LIBTIRPC_LIBRARY_DIRS}
+ )
+
+ include_directories(${TIRPC_INCLUDE_DIRS})
+endif()
include_directories(
main/native/utils/api
@@ -51,6 +70,9 @@ add_library(hadooputils STATIC
main/native/utils/impl/StringUtils.cc
main/native/utils/impl/SerialUtils.cc
)
+if (NOT RPC_INCLUDE_DIRS AND LIBTIRPC_FOUND)
+ target_link_libraries(hadooputils tirpc)
+endif()
add_library(hadooppipes STATIC
main/native/pipes/impl/HadoopPipes.cc