Skip to content
This repository has been archived by the owner on Jul 22, 2022. It is now read-only.

Commit

Permalink
HADOOP-16739. Fix native build failure of hadoop-pipes on CentOS 8.
Browse files Browse the repository at this point in the history
  • Loading branch information
iwasakims committed Apr 24, 2020
1 parent 7b036c5 commit 83c4f8b
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
41 changes: 41 additions & 0 deletions BUILDING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
22 changes: 22 additions & 0 deletions hadoop-tools/hadoop-pipes/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 83c4f8b

Please sign in to comment.