zoukankan      html  css  js  c++  java
  • impala编译

    impala编译 编译系统centos 5.10

    说明:版本1.3.x----2.1.x都能编译

    一、预装库

    1.gcc安装

    yum install gcc44

    yum install gcc44-c++

    下面的单独安装在编译过程中会与系统自带的低版本冲突

    mpc-0.9.tar.gz

    mpfr-3.1.2.tar.gz

    gmp-5.0.1.tar.bz2

    gcc-4.4.7.tar.gz

    gcc-g++-4.4.7.tar.gz

    http://blog.sina.com.cn/s/blog_868618f00101ij4a.html

    注:安装之后中需要将原来的/usr/bin 下的4.1.2的cc,gcc 指向4.4.7版本

    并且指向的是 /usr/bin/x86_64-redhat-linux6E-gcc44而不是gcc44

    g++同样指向/usr/bin/x86_64-redhat-linux6E-g++44

    卸载掉gcc-c++,它是4.1.2版本。因为有在编译时使用的有可能是c++而不是g++编译器,造成版本过低会引起无法识别msse4.2参数。具体情况没有证明,我只是把它卸载了。

    2.boost库安装

    boost_1_53_0.tar.gz

    安装到系统默认路径

    编译参数

    ./bjam   --toolset=gcc  --layout=tagged --build-type=complete     --with-regex  --with-system  --with-thread  --with-filesystem install --with-date_time

    3.其它库安装

    git-1.9.4.tar.gz  ./configure  --prefix=/usr/local/git-1.9.2

    Python-2.7.8.tgz  ./configure  --prefix=/usr/local/python-2.7.8

    lzo-2.06.tar.gz  ./configure  --enable-shared

    yum install cmake libtool zlib-devel openssl-devel bzip2-devel cyrus-sasl-devel

    下面的两个LZO库直接解压

    hadoop-lzo-0.4.15-gplextras5.0.1-SNAPSHOT.tar.gz

    hadoop-lzo-release-0.4.19.tar.gz

    impala-lzo-1.3.1-gplextras5.0.1-SNAPSHOT.tar.gz

    文件下载地址

    http://archive.cloudera.com/gplextras/

    不同操作系统下对应的rpm包找到后直接解压就会找到jar包。

    4.工具安装

    jdk-6u45-linux-x64.bin              

    apache-maven-3.0.4-bin.tar.gz

    setuptools-0.6c11.tar.gz 此工具用来编译python脚本

    安装过程:

    tar zxvf setuptools-0.6c11.tar.gz
    cd setuptools-0.6c11
    python setup.py build
    python setup.py install

    5 .LLVM安装

    llvm-3.3.src.tar.gz, cfe-3.3.src.tar.gz, compiler-rt-3.3.src.tar

    所需要的包以及放位置参考或文档《LLVM编译安装.txt》

    有一个已经将以上三个包打好的完全源码包vip-llvm-3.3.src.tar

    直接解压可编译安装

    http://clang.llvm.org/get_started.html

    二、环境变量

    其它库的环境变量是否需要看安装路径,如果安装在默认路径就不需要,以下库安装在指定路径,其它库在默认路径

    export GIT_HOME=/usr/local/git-1.9.2

    export HADOOP_LZO=/root/hadoop-lzo-0.4.15

    export IMPALA_LZO=/root/impala-lzo-1.3.1

    export PYTHON2_HOME=/usr/local/python-2.7.8

    export MAVEN_HOME=/root/apache-maven-3.0.4

    export JAVA_HOME=/root/jdk

    export PATH=$GIT_HOME/bin:$PYTHON2_HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

    三、编译

    ./buildall.sh  -noclean  -skiptests  -codecoverage_release  -codecoverage_debug

    错误0:

    /usr/local/lib/../lib/libstdc++.so: could not read symbols: File in wrong format

    表示没有安装boost库到标准路径,而直接使用了标准C++造成的,直接将上面编译boosts时安装到标准路径 ,

    错误一:

    /home/flh/impala-1.3.0-cdh5.0.0/be/src/statestore/failure-detector.cc: In member function ‘virtual impala::FailureDetector::PeerState impala::TimeoutFailureDetector::UpdateHeartbeat(const std::string&, bool)’:

    /home/flh/impala-1.3.0-cdh5.0.0/be/src/statestore/failure-detector.cc:41: 错误:‘lock_guard’ 在此作用域中尚未声明

    解决:修改头文件failure-detector.h加入#include <boost/thread/lock_guard.hpp>

    错误二:

    /home/flh/boost_1_53_0/build/include/boost/move/core.hpp:48: 错误:放松 ‘boost::rv<T>::~rv() [with T = impala::TNetworkAddress]’ 的 throw 限定

    /home/flh/impala-1.3.0-cdh5.0.0/be/generated-sources/gen-cpp/Types_types.h:180: 错误:  覆盖了 ‘virtual impala::TNetworkAddress::~TNetworkAddress() throw ()’

    解决:Types_types.h头文件中产生的所有类的析构函数的后面的throw() 关键词去掉

    错误三:

    /home/flh/impala-1.3.0-cdh5.0.0/be/src/util/simple-logger.cc: In member function ‘impala::Status impala::SimpleLogger::AppendEntry(const std::string&)’:

    /home/flh/impala-1.3.0-cdh5.0.0/be/src/util/simple-logger.cc:77: 错误:‘lock_guard’ 在此作用域中尚未声明

    解决:修改头文件simple-logger.h添加#include <boost/thread/lock_guard.hpp>

    错误四:

    /home/flh/impala-1.3.0-cdh5.0.0/be/src/transport/TSaslServerTransport.cpp: In member function ‘virtual boost::shared_ptr<apache::thrift::transport::TTransport> apache::thrift::transport::TSaslServerTransport::Factory::getTransport(boost::shared_ptr<apache::thrift::transport::TTransport>)’:

    /home/flh/impala-1.3.0-cdh5.0.0/be/src/transport/TSaslServerTransport.cpp:110: 错误:‘lock_guard’ is not a member of ‘boost’

    解决:修改头文件TSaslServerTransport.h添加#include <boost/thread/lock_guard.hpp>

    Impala 编译6.5以上系统

    一、预装库

    1.gcc编译器安装

    yum install gcc

    yum install gcc-c++

    默认都是4.4.7版本

    2.boost库安装

    同上

    3.其它库安装

    同上

    4.工具安装

    同上

    5.LLVM安装

    同上

    如果有错误,删除了多编译几次

    二、环境变量

    其它库的环境变量是否需要看安装路径,如果安装在默认路径就不需要,以下库安装在指定路径,其它库在默认路径

     export HADOOP_LZO=/root/hadoop-lzo-0.4.15

    export IMPALA_LZO=/root/impala-lzo-1.3.1

    export PYTHON2_HOME=/usr/local/python-2.7.8

    export MAVEN_HOME=/root/apache-maven-3.0.4

    export JAVA_HOME=/root/jdk

    export PATH=$PYTHON2_HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

    三、编译

    同上

  • 相关阅读:
    你不知道的空格
    导致你的微服务走向失败的11个原因
    阿里巴巴正式开源 Inclavare Containers 技术
    如何分辨区块链传销项目?
    编写干净的 React Components & JSX
    面试:3年工作经验程序员应有的技能
    数据库设计规范化的 5 个要求
    mac下镜像飞速安装Homebrew教程
    对优秀程序员的思考
    程序员理想中的工作环境
  • 原文地址:https://www.cnblogs.com/xiaofu/p/4306280.html
Copyright © 2011-2022 走看看