You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by hu...@apache.org on 2019/07/22 08:29:39 UTC
[hawq] branch master updated: HAWQ-1726. install some necessary
software in Dockerfile
This is an automated email from the ASF dual-hosted git repository.
huor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hawq.git
The following commit(s) were added to refs/heads/master by this push:
new 5c027fe HAWQ-1726. install some necessary software in Dockerfile
5c027fe is described below
commit 5c027fe25c872776aa2c318d1b64a2a0bf812c44
Author: tuyu <tu...@oushu.io>
AuthorDate: Wed Jul 17 19:59:08 2019 +0800
HAWQ-1726. install some necessary software in Dockerfile
---
contrib/exthdfs/Makefile | 7 ++++---
.../hawq-docker/centos7-docker/hawq-dev/Dockerfile | 22 ++++++++++++++++++----
contrib/orc/Makefile | 4 +---
depends/dbcommon/src/CMakeLists.txt | 4 ++--
depends/dbcommon/test/CMakeLists.txt | 3 +++
depends/storage/CMake/FindJSON.cmake | 2 +-
depends/storage/src/CMakeLists.txt | 9 ++-------
.../src/storage/format/orc/orc-format-writer.cc | 2 +-
.../storage/src/storage/format/orc/orc-format.h | 2 +-
depends/storage/test/CMakeLists.txt | 2 ++
depends/univplan/src/CMakeLists.txt | 2 --
depends/univplan/test/CMakeLists.txt | 3 +++
12 files changed, 38 insertions(+), 24 deletions(-)
diff --git a/contrib/exthdfs/Makefile b/contrib/exthdfs/Makefile
index 7bf514f..b8bd2ce 100644
--- a/contrib/exthdfs/Makefile
+++ b/contrib/exthdfs/Makefile
@@ -18,17 +18,18 @@
MODULE_big = exthdfs
OBJS = exthdfs.o
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+
PG_CPPFLAGS = -I$(libpq_srcdir)
PG_LIBS = $(libpq_pgport)
-override CFLAGS += -lhdfs3 -lstorage
+override CFLAGS += -lhdfs3 -lstorage -L$(prefix)/lib
ifdef USE_PGXS
PGXS := $(shell pg_config --pgxs)
include $(PGXS)
else
subdir = contrib/exthdfs
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
diff --git a/contrib/hawq-docker/centos7-docker/hawq-dev/Dockerfile b/contrib/hawq-docker/centos7-docker/hawq-dev/Dockerfile
index 1ac43a4..ac82399 100644
--- a/contrib/hawq-docker/centos7-docker/hawq-dev/Dockerfile
+++ b/contrib/hawq-docker/centos7-docker/hawq-dev/Dockerfile
@@ -22,19 +22,29 @@ MAINTAINER Richard Guo <ri...@pivotal.io>
# install all software we need
RUN yum install -y epel-release && \
yum makecache && \
- yum install -y man passwd sudo tar which git mlocate links make bzip2 net-tools \
- autoconf automake libtool m4 gcc gcc-c++ gdb flex cmake gperf maven indent \
+ yum install -y man glog-devel jsoncpp-devel json gflags-devel lz4-devel passwd sudo tar which git mlocate links make bzip2 net-tools \
+ autoconf automake libtool m4 gcc gcc-c++ gdb flex gperf maven indent \
libuuid-devel krb5-devel libgsasl-devel expat-devel libxml2-devel \
perl-ExtUtils-Embed pam-devel python-devel libcurl-devel snappy-devel \
thrift-devel libyaml-devel libevent-devel bzip2-devel openssl-devel \
openldap-devel protobuf-devel readline-devel net-snmp-devel apr-devel \
libesmtp-devel python-pip json-c-devel \
- java-1.7.0-openjdk-devel lcov cmake \
+ java-1.7.0-openjdk-devel lcov cmake3 \
+ wget rpm-build \
+ https://forensics.cert.org/centos/cert/7/x86_64//libiconv-1.15-1.el7.x86_64.rpm \
+ https://forensics.cert.org/centos/cert/7/x86_64//libiconv-devel-1.15-1.el7.x86_64.rpm \
openssh-clients openssh-server perl-JSON unzip && \
yum clean all
+RUN ln -s /usr/bin/cmake3 /usr/bin/cmake
+
RUN rpm -ivh --nodeps https://rpmfind.net/linux/centos/6.10/os/x86_64/Packages/bison-2.4.1-5.el6.x86_64.rpm
+RUN cd ~ && git clone https://github.com/protocolbuffers/protobuf.git && \
+ cd protobuf && git submodule update --init --recursive && \
+ ./autogen.sh && ./configure && make && \
+ make check && make install && ldconfig && cd -
+
RUN pip --retries=50 --timeout=300 install pycrypto
RUN pip --retries=50 --timeout=300 install cogapp
@@ -58,7 +68,8 @@ RUN sed -i -e 's|Defaults requiretty|#Defaults requiretty|' /etc/sudoers
# setup JAVA_HOME for all users
RUN echo "#!/bin/sh" > /etc/profile.d/java.sh && \
echo "export JAVA_HOME=/etc/alternatives/java_sdk" >> /etc/profile.d/java.sh && \
- chmod a+x /etc/profile.d/java.sh
+ chmod a+x /etc/profile.d/java.sh && \
+ ln -s /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.221-2.6.18.0.el7_6.x86_64/jre/lib/amd64/server/libjvm.so /usr/local/lib/libjvm.so
# set USER env
RUN echo "#!/bin/bash" > /etc/profile.d/user.sh && \
@@ -76,3 +87,6 @@ RUN ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa && \
chmod 0600 ~/.ssh/authorized_keys
WORKDIR /data
+
+ENTRYPOINT ["bash", "/data/hawq-docker/apache-hawq/entrypoint.sh"]
+
diff --git a/contrib/orc/Makefile b/contrib/orc/Makefile
index f432146..86c20a0 100644
--- a/contrib/orc/Makefile
+++ b/contrib/orc/Makefile
@@ -9,7 +9,5 @@ subdir = contrib/orc
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
-override CFLAGS += -lstorage -ljson-c -luuid -I${top_builddir}/src/backend/utils \
- -L${top_builddir}/depends/storage/build/install/usr/local/hawq/lib \
- -I${top_builddir}/depends/storage/build/install/usr/local/hawq/include
+override CFLAGS += -lstorage -ljson-c -luuid -I${top_builddir}/src/backend/utils -L$(prefix)/lib -I$(prefix)/include
endif
diff --git a/depends/dbcommon/src/CMakeLists.txt b/depends/dbcommon/src/CMakeLists.txt
index 49df441..a112af5 100644
--- a/depends/dbcommon/src/CMakeLists.txt
+++ b/depends/dbcommon/src/CMakeLists.txt
@@ -109,10 +109,10 @@ INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/codegen/src)
INCLUDE_DIRECTORIES(${GLOG_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/include)
INCLUDE_DIRECTORIES(/usr/local/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../libhdfs3/build/install/usr/local/hawq/include)
+INCLUDE_DIRECTORIES(/usr/libiconv/include)
LINK_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/lib)
LINK_DIRECTORIES(/usr/local/lib)
-LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../libhdfs3/build/install/usr/local/hawq/lib)
+LINK_DIRECTORIES(/usr/libiconv/lib64)
ADD_LIBRARY(dbcommon-shared SHARED
${TEMPLATE_GENERATED_HEADERS}
diff --git a/depends/dbcommon/test/CMakeLists.txt b/depends/dbcommon/test/CMakeLists.txt
index 54d7599..5ebfcc6 100644
--- a/depends/dbcommon/test/CMakeLists.txt
+++ b/depends/dbcommon/test/CMakeLists.txt
@@ -7,9 +7,12 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-access-control")
INCLUDE_DIRECTORIES(${dbcommon_ROOT_DIR})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/codegen/src)
+INCLUDE_DIRECTORIES(/usr/libiconv/include)
INCLUDE_DIRECTORIES(${GLOG_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/include)
+LINK_DIRECTORIES(/usr/local/lib)
+LINK_DIRECTORIES(/usr/libiconv/lib64)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
LINK_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/lib)
diff --git a/depends/storage/CMake/FindJSON.cmake b/depends/storage/CMake/FindJSON.cmake
index a334948..490c80e 100644
--- a/depends/storage/CMake/FindJSON.cmake
+++ b/depends/storage/CMake/FindJSON.cmake
@@ -20,7 +20,7 @@
# License text for the above reference.)
# Look for the header file.
-find_path(JSON_INCLUDE_DIR NAMES json/json.h)
+find_path(JSON_INCLUDE_DIR NAMES jsoncpp/json/json.h)
mark_as_advanced(JSON_INCLUDE_DIR)
# Look for the library (sorted from most current/relevant entry to least).
diff --git a/depends/storage/src/CMakeLists.txt b/depends/storage/src/CMakeLists.txt
index f4fd163..7e6b1f3 100644
--- a/depends/storage/src/CMakeLists.txt
+++ b/depends/storage/src/CMakeLists.txt
@@ -47,15 +47,10 @@ INCLUDE_DIRECTORIES(${storage_ROOT_DIR})
INCLUDE_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/include)
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
INCLUDE_DIRECTORIES(/usr/local/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../univplan/build/install/usr/local/hawq/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../dbcommon/build/install/usr/local/hawq/include)
+INCLUDE_DIRECTORIES(/usr/libiconv/include)
LINK_DIRECTORIES(/usr/local/lib)
-#LINK_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/package/lib)
LINK_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/lib)
-LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../libhdfs3/build/install/usr/local/hawq/lib)
-LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../univplan/build/install/usr/local/hawq/lib)
-LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../dbcommon/build/install/usr/local/hawq/lib)
-
+LINK_DIRECTORIES(/usr/libiconv/lib64)
ADD_LIBRARY(storage-shared SHARED ${storage_SOURCES} ${storage_PROTO_SRCS} ${storage_PROTO_HDRS})
# ADD_LIBRARY(storage-static STATIC ${storage_SOURCES} ${storage_PROTO_SRCS} ${storage_PROTO_HDRS})
diff --git a/depends/storage/src/storage/format/orc/orc-format-writer.cc b/depends/storage/src/storage/format/orc/orc-format-writer.cc
index c5fd10d..aadb4b5 100644
--- a/depends/storage/src/storage/format/orc/orc-format-writer.cc
+++ b/depends/storage/src/storage/format/orc/orc-format-writer.cc
@@ -21,7 +21,7 @@
#include <utility>
#include <vector>
-#include "json/json.h"
+#include "jsoncpp/json/json.h"
// #include "kv/common/cn-global.h"
// #include "kv/common/configuration.h"
diff --git a/depends/storage/src/storage/format/orc/orc-format.h b/depends/storage/src/storage/format/orc/orc-format.h
index 6dd3632..49855c3 100644
--- a/depends/storage/src/storage/format/orc/orc-format.h
+++ b/depends/storage/src/storage/format/orc/orc-format.h
@@ -24,7 +24,7 @@
#include <string>
#include <vector>
-#include "json/json.h"
+#include "jsoncpp/json/json.h"
#include "dbcommon/utils/int-util.h"
#include "storage/format/format.h"
diff --git a/depends/storage/test/CMakeLists.txt b/depends/storage/test/CMakeLists.txt
index 94b7b7e..8ca9ab5 100644
--- a/depends/storage/test/CMakeLists.txt
+++ b/depends/storage/test/CMakeLists.txt
@@ -5,11 +5,13 @@ SET(TEST_WORKING_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data/)
ADD_DEFINITIONS(-DDATA_DIR="${TEST_WORKING_DIR}/")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-access-control")
+INCLUDE_DIRECTORIES(/usr/libiconv/include)
INCLUDE_DIRECTORIES(${storage_ROOT_DIR})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
INCLUDE_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/include)
INCLUDE_DIRECTORIES(/usr/local/include)
LINK_DIRECTORIES(/usr/local/lib)
+LINK_DIRECTORIES(/usr/libiconv/lib64)
ADD_SUBDIRECTORY(unit)
diff --git a/depends/univplan/src/CMakeLists.txt b/depends/univplan/src/CMakeLists.txt
index 2b85167..abecee4 100644
--- a/depends/univplan/src/CMakeLists.txt
+++ b/depends/univplan/src/CMakeLists.txt
@@ -47,10 +47,8 @@ INCLUDE_DIRECTORIES(${univplan_ROOT_DIR})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
INCLUDE_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/include)
INCLUDE_DIRECTORIES(/usr/local/include)
-INCLUDE_DIRECTORIES(${univplan_ROOT_DIR}/../../dbcommon/build/install/usr/local/hawq/include)
LINK_DIRECTORIES(/usr/local/lib)
LINK_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/lib)
-LINK_DIRECTORIES(${univplan_ROOT_DIR}/../../dbcommon/build/install/usr/local/hawq/lib)
ADD_LIBRARY(univplan-shared SHARED
${UNIVPLAN_PROTO_HDRS}
diff --git a/depends/univplan/test/CMakeLists.txt b/depends/univplan/test/CMakeLists.txt
index a98bb5b..c39e29b 100644
--- a/depends/univplan/test/CMakeLists.txt
+++ b/depends/univplan/test/CMakeLists.txt
@@ -8,9 +8,12 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-access-control")
INCLUDE_DIRECTORIES(${univplan_ROOT_DIR})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
INCLUDE_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/include)
+INCLUDE_DIRECTORIES(/usr/local/include)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
LINK_DIRECTORIES(${DEPENDENCY_INSTALL_PREFIX}/lib)
+LINK_DIRECTORIES(/usr/local/lib)
+LINK_DIRECTORIES(/usr/local/lib64)
ADD_SUBDIRECTORY(unit)