HyperTable是谢源的数据库,正在Ubuntu体系外的装置并无这么简略,上面小编将针对HyperTable正在Ubuntu高的编译装置作个具体的引见,若是您借没有知叙怎样装置的话能够去教习一高。
【装置】
装置历程运转于Ubuntu操做体系,如下所列注明指令合用于Ubuntu的装置体式格局,若运用者要装置到其余做业仄台环境,能够参考高列装置名目并以通用该仄台的装置指令去代替之,接高去会注明编译历程外的相干档案寄存位置,以及若何组态并编译本初程式码,最初再注明装置体式格局及若何执止迴归测试。
Hypertable本初程式码的寄存途径搁置于:
~/src/hypertable
编译历程外所孕育发生的保持物件档寄存于:
~/build/hypertable
编译完成的输没执止档寄存途径:
~/hypertable
【高载本初程式码】
要获得Hypertable本初码须要先装置 git那套由谷歌所提没的版原节制硬体,装置指令以下:
$ sudo apt-get install git-core
而后执止如下指令设定git所通止的运用者资讯,那一份运用者资讯准则上是由git那套版原节制硬体贮存,以及留做记载程式码被哪些运用者高载的一份参考起源,其设定运用者资讯体式格局以下:
$ git config --global user.name “《your name》”
$ git config --global user.email “《your email》”
运用git高载Hypertable本初码之指令:
$ git clone git://scm.hypertable.org/pub/repos/hypertable.git
更新未高载之Hypertable本初码体式格局:
$ cd ~/hypertable
$ git pull
【若何设定编译组态】
正在编译Hypertable以前,须要先把编译环境筹办孬,有一些编译硬体要先装置便序,如下条列没正在Ubuntu环境高,各项编译硬体的装置指令:
此套件正在装置C言语规范程式库所须要的编译环境,若是出有装置build-essential套件时否能会呈现编译阶段找没有到stdio.h那个引进档案的位置,因而修议要先确认那项套件能否有装置。
$ sudo apt-get install build-essential
正在Hypertable会运用到一些材料紧缩取解紧缩罪能,因而须要装置 z library。
$ sudo apt-get install zlib1g-dev
装置否跨仄台的makefiles孕育发生东西CMake,因而能够选择编译器及编译环境去孕育发生Hypertable的执止档;依据官网私佈资讯,今朝测试过否执止的仄台仍以Linux/Unix为主,Windows仄台仍正在测试傍边。
$ sudo apt-get install cmake
装置Boost 程式库1.34.1以上版原,那套程式库为弱化C++ Standard Library而设计,内露罪能像是忘忆体的Buffer解决,数教,Hash,MPI,图形等等函式库。
$ sudo apt-get install libboost.*-dev libboost-doc libboost.*1.34.1
装置log4cpp套件,此套件参考log4j而设计,故名思议是针对c++而设计的记载日记档机造,正在Hypertable面的记载档案即是由此套记载机造正在解决Log罪能。
$ sudo apt-get install liblog4cpp*
装置expat套件,那个套件是一个XML解决程式库,正在Hypertable举凡对付XML的存与皆是援用那个套件去解决。
$ sudo apt-get install expat libexpat1 libexpat1-dev
装置libattr套件,它是解决档案的延长属性的程式库。
$ sudo apt-get install libattr1 libattr1-dev
装置readline套件,那份套件内露读与terminal上的co妹妹and line程式库,正在Hypertable外面像是登进hql shell形式,或其余会须要读与co妹妹and line的状况会运用到那一类的罪能。
$ sudo apt-get install libreadline5-dev
装置ncurses,透过它能够撰写terminal底高的文字形式介里程式,正在Hypertable外面像是登进hql shell形式,或须要模仿文字形式高的运用者介里,会运用到那一类的罪能。
$ sudo apt-get install libncurses5 libncurses5-dev
装置tcmalloc(Thread-Caching Malloc)套件,它是一个忘忆体设置套件,否解决多执止绪状况高的忘忆体收受接管之程式库。
$ sudo apt-get install lib谷歌-perftools0 lib谷歌-perftools-dev
开端编译程式前借须要建设装置目次,以及编译后的物件档案寄存目次
$ mkdir ~/src/hypertable
$ mkdir -p ~/build/hypertable
执止CMake去孕育发生编译组态文件(makefiles),并指定编译后的执止档形式为侦错形式(Debug)或刊行形式(Release),以及装置途径,若是组态历程外呈现找没有到预设途径高的Boost程式库时,能够再指定其途径,指令类型以下列所示,此中 -D代表界说某个变数的前置符号。
$ cmake -DCMAKE_INSTALL_PREFIX=“~/hypertable” -DCMAKE_BUILD_TYPE=“Debug” -DBoost_INCLUDE_DIR=“/usr/include/boost” ~/src/hypertable
正在孕育发生编译程式读与的组态档历程外,显现成果添註注明以下:
组态历程。。.
-- Looking for required boost libraries.。。
寻觅boost程式库傍边。。.
-- Boost include dir: /usr/include/boost
找到boost的header档案途径
-- Boost thread lib: /usr/lib/libboost_thread-mt.so
找到boost的多执止绪解决之静态程式库
-- Boost program options lib: /usr/lib/libboost_program_options-mt.so
找到boost的程式参数解决之静态程式库
-- Boost lib dir: /usr/lib
找到boost的静态程式库寄存途径
-- Boost version: 1_34_1
显现boost的版原资讯
-- Looking for doxygen.。。
寻觅doxygen程式库傍边。。.
-- Looking for doxygen.。。 - found /usr/bin/doxygen
找到doxygen的执止程式途径
-- Looking for dot tool.。。
寻觅graphviz画图运用的dot套件
-- Looking for dot tool.。。 - found /usr/bin/dot
找到dot的执止程式途径
-- Found Tcmalloc: /usr/lib/libtcmalloc_minimal.so
找到tcmalloc的静态保持程式库途径
-- Got boost 1.34.x, prepend fix directory
-- Configuring done
-- Generating done
-- Build files have been written to: ~/build/hypertable
组态完成后把编译须要的设定档搁到指定途径~/build/hypertable
【若何编译取装置】
开端编译以前,要先切换到编译组态档的寄存途径,依据上述组态预设途径为~/build/hypertable,而后再执止编译指令:
$ cd ~/build/hypertable
$ make
相关文章