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)