oceanbase 安裝步驟之一及問題彙總

Oceanbase安裝

環境:


1.這個版本的redhat默認自帶的是gcc4.4.6版本,但是oceanbase需要4.1.2版本進行編譯,所以要給redhat進行gcc降級。

1)下載gcc-4.1.2-54.el5.x86_64.rpmcpp-4.1.2-54.el5.x86_64.rpmrpm

2)可以通過掛載系統盤自帶的yum源安裝kernel-headers-2.6.32-279.el6.x86_64.rpmglibc-headers-2.12-1.80.el6.x86_64.rpmglibc-headers-2.12-1.80.el6.x86_64.rpmglibc-devel-2.12-1.80.el6.x86_64.rpmglibc-headers-2.12-1.80.el6.x86_64.rpmglibc-devel-2.12-1.80.el6.x86_64.rpmlibgomp-4.4.6-4.el6.x86_64.rpm。這些安裝完成後,接着安裝cpp-4.1.2-54.el5.x86_64.rpmgcc-4.1.2-54.el5.x86_64.rpm即可。

準備:

echo "exportTBLIB_ROOT=$HOME/ob-install-dir" >> ~/.bashrc
echo "exportLD_LIBRARY_PATH=/usr/lib/:/usr/local/lib:$TBLIB_ROOT/lib:$HOME/ob-install-dir/lib:$LD_LIBRARY_PATH">> ~/.bashrc
source ~/.bashrc
 


2.安裝libtool.x86_64:

sudo yum install libtool.x86_64

注意:在使用該命令安裝時,默認會update gcccpp的版本。

解決方法:

所以只能自己用4.1.2版本的gcc去編譯。

http://mirrors.ustc.edu.cn/gnu/libtool/去下載適合版本的libtool,我選擇的是libtool-1.5.6

然後就是./configure&&make&&sudo make install

注意:使用2.2版本的libtool會出錯誤,所以最好自己編譯低版本的libtool

3.安裝liblzo2:

sudo yum install LZO.x86_64


出現:

Nopackage LZO.x86_64 available.
  * Maybe you meant: lzo
Error:Nothing to do


解決:

wget -chttp://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
tar zxf lzo-*
(cd lzo-2.03; ./configure --enable-shared --prefix=/usr/ && make&& sudo make install)


 

安裝後,運行下面程序進行測試:

echo "int main(){ return 0;}" > /tmp/a.c && gcc/tmp/a.c -llzo2 -o /tmp/a.out


沒有返回錯誤即是正確的。

4.安裝Snappy:

sudo yum install Snappy.x86_64
Settingup Install Process
Nopackage Snappy.x86_64 available.
  * Maybe you meant: snappy
Error:Nothing to do


 

解決:

wget -chttp://snappy.googlecode.com/files/snappy-1.0.3.tar.gz
tar zxf snappy-* 
(cd snappy-1.0.3; ./configure --prefix=/usr/ && make && sudomake install)


make的時候出現:

libtool:compile:  g++ -DHAVE_CONFIG_H -I. -csnappy.cc  -o .libs/snappy.o
./libtool:line 984: g++: command not found
make[1]:*** [snappy.lo] Error 1
make[1]:Leaving directory `/home/fang/snappy-1.0.3'
make:*** [all] Error 2


解決:

yum-y install gcc-c++


注意:這個命令默認也會update gcccpp的版本。所以只能通過編譯g++包進行安裝g++

如果單純使用g++rpm會出現很多依賴問題,所以只能通過建立多版本的gcc系統,才能使新老gccg++兼容。以下就是關於g++降級問題的解決方案:

下載兩個文件:

http://gcc.cybermirror.org/releases/gcc-4.1.2/gcc-core-4.1.2.tar.bz2
http://gcc.cybermirror.org/releases/gcc-4.1.2/gcc-g++-4.1.2.tar.bz2


解壓,進入gcc4.1.2文件夾中:

./configure && make && sudo make install

make的時候會出現無法找到stubs-32.h,可以通過sudo yum whatprovides*/stubs-32.h命令查找是那個包提供相關文件。然後安裝即可。其實就是 glibc-devel-2.12-1.80.el6.i686。可以通過命令:

sudo yum install glibc-devel-2.12-1.80.el6.i686

安裝完成後,用過修改/usr/bin/gcc指向gcc4.1.2版本鏈接,將/usr/bin/g++指向/usr/local/bin/g++的鏈接。

 

 結果如下:

[[email protected]]$ gcc --version
gcc(GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright(C) 2006 Free Software Foundation, Inc.
Thisis free software; see the source for copying conditions.  There is NO
 
g++(GCC) 4.1.2
Copyright(C) 2006 Free Software Foundation, Inc.
Thisis free software; see the source for copying conditions.  There is NO
 


 

但是繼續make後還是會出現問題:

g++:./.libs/libsnappy.so: No such file or directory
make[1]:*** [snappy_unittest] Error 1
make[1]:Leaving directory `/home/fang/snappy-1.0.3'
make:*** [all] Error 2


查看./.libs/libsnappy.so文件:

[[email protected]]$ ll ./.libs/libsnappy.so
lrwxrwxrwx.1 fang fang 18 Mar 25 08:08 ./.libs/libsnappy.so -> libsnappy.so.1.1.1


是一個鏈接。缺少libsnappy.so.1.1.1。

解決:

http://rpm.pbone.net/index.php3/stat/4/idpl/18007535/dir/redhat_el_6/com/snappy-1.0.5-1.el6.rf.x86_64.rpm.html 找尋相應版本。

然後:

[fang@localhost~]$ sudo rpm -ivh snappy-1.0.5-1.el6.rf.x86_64.rpm
[sudo]password for fang:
warning:snappy-1.0.5-1.el6.rf.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID6b8d79e6: NOKEY
Preparing...               ########################################### [100%]
   1:snappy                ########################################### [100%]
這樣裝的就是1.0.5版的snappy,然後建一個鏈接:
 sudo ln -s/usr/lib64/libsnappy.so.1.1.3 /usr/lib/libsnappy.so


測試一下:

echo "int main(){ return0;}" > /tmp/a.c && gcc /tmp/a.c -o /tmp/a.out -lsnappy


5.安裝libnuma

sudo yum installnumactl-devel.x86_64


6.安裝libaio

sudo yum installlibaio-devel.x86_64


7.安裝tbnettbsys

export TBLIB_ROOT=$HOME/ob-install-dir
svn checkout http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utils


(cd tb-common-utils; sh build.sh)



安裝成功後, TBLIB_ROOT所指示的目錄下會有includelib兩個目錄,可用如下的命令驗證編譯器能否找到庫:

echo "int main(){ return 0;}" > /tmp/a.c&& gcc /tmp/a.c -o /tmp/a.out -L$TBLIB_ROOT/lib -ltbnet-ltbsys
/tmp/a.out

 

 

8.檢出oceanbase源碼

svn cohttp://code.taobao.org/svn/OceanBase/trunk/ ob-src-dir
 
./build.sh init && ./configure--prefix=$HOME/ob-install-dir --with-release --without-test-case &&make 

-j2 && make install



在運行./configure --prefix=$HOME/ob-install-dir --with-release--without-test-case命令時會出現:

configure: error:TBLIB_ROOT have not been set

的錯誤。

解決:

查看configure文件,定位到如下句子:

if  ! test -d "${TBLIB_ROOT}/include";then

       { { $as_echo "$as_me:$LINENO:error: TBLIB_ROOT have not been set" >&5

$as_echo"$as_me: error: TBLIB_ROOT have not been set" >&2;}

可以看出必須要在${TBLIB_ROOT}路徑下創建include文件夾。

在運行make -j2時會出現:

echo -n 'const char*svn_version() { const char* SVN_Version = "' > svn_version.cpp
make: *** No rule tomake target `svn_dist_version', needed by `all'.  Stop.
make: *** Waitingfor unfinished jobs....
cat./svn_dist_version >> ./svn_version.cpp
cat:./svn_dist_version: No such file or directory
make: *** [svn_version.cpp] Error 1


解決:

在根目錄下建立一個svn_dist_version空白文件即可。

make -j2之後,會出現這個問題:

make:*** [Makefile.in] Error 1
[fang@localhostob-src-dir]$ make -j2
 cd . && /bin/sh/home/fang/ob-src-dir/missing --run automake-1.11 --foreign
src/chunkserver/Makefile.am:20:library used but `RANLIB' is undefined
src/chunkserver/Makefile.am:20:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/chunkserver/Makefile.am:20:   to `configure.ac' and run `autoconf' again.
src/common/Makefile.am:15:library used but `RANLIB' is undefined
src/common/Makefile.am:15:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/common/Makefile.am:15:   to `configure.ac' and run `autoconf' again.
src/common/btree/Makefile.am:1:library used but `RANLIB' is undefined
src/common/btree/Makefile.am:1:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/common/btree/Makefile.am:1:   to `configure.ac' and run `autoconf' again.
src/common/compress/Makefile.am:8:library used but `RANLIB' is undefined
src/common/compress/Makefile.am:8:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/common/compress/Makefile.am:8:   to `configure.ac' and run `autoconf' again.
src/common/compress/Makefile.am:9:Libtool library used but `LIBTOOL' is undefined
src/common/compress/Makefile.am:9:   The usual way to define `LIBTOOL' is to add`AC_PROG_LIBTOOL'
src/common/compress/Makefile.am:9:   to `configure.ac' and run `aclocal' and`autoconf' again.
src/common/compress/Makefile.am:9:   If `AC_PROG_LIBTOOL' is in `configure.ac',make sure
src/common/compress/Makefile.am:9:   its definition is in aclocal's search path.
src/common/compress/Makefile.am:14:variable `libcomp_a_LDFLAGS' is defined but no program or
src/common/compress/Makefile.am:14:library has `libcomp_a' as canonical name (possible typo)
src/lsync/Makefile.am:28:library used but `RANLIB' is undefined
src/lsync/Makefile.am:28:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/lsync/Makefile.am:28:   to `configure.ac' and run `autoconf' again.
src/mergeserver/Makefile.am:50:library used but `RANLIB' is undefined
src/mergeserver/Makefile.am:50:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/mergeserver/Makefile.am:50:   to `configure.ac' and run `autoconf' again.
src/rootserver/Makefile.am:31:library used but `RANLIB' is undefined
src/rootserver/Makefile.am:31:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/rootserver/Makefile.am:31:   to `configure.ac' and run `autoconf' again.
src/sstable/Makefile.am:19:library used but `RANLIB' is undefined
src/sstable/Makefile.am:19:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/sstable/Makefile.am:19:   to `configure.ac' and run `autoconf' again.
src/updateserver/Makefile.am:25:library used but `RANLIB' is undefined
src/updateserver/Makefile.am:25:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
src/updateserver/Makefile.am:25:   to `configure.ac' and run `autoconf' again.
tests/chunkserver/Makefile.am:27:library used but `RANLIB' is undefined
tests/chunkserver/Makefile.am:27:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
tests/chunkserver/Makefile.am:27:   to `configure.ac' and run `autoconf' again.
tests/sstable/Makefile.am:26:library used but `RANLIB' is undefined
tests/sstable/Makefile.am:26:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
tests/sstable/Makefile.am:26:   to `configure.ac' and run `autoconf' again.
tools/dump_data/Makefile.am:17:library used but `RANLIB' is undefined
tools/dump_data/Makefile.am:17:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
tools/dump_data/Makefile.am:17:   to `configure.ac' and run `autoconf' again.
tools/syschecker/client/Makefile.am:17:library used but `RANLIB' is undefined
tools/syschecker/client/Makefile.am:17:   The usual way to define `RANLIB' is to add`AC_PROG_RANLIB'
tools/syschecker/client/Makefile.am:17:   to `configure.ac' and run `autoconf' again.
make:*** [Makefile.in] Error 1


解決方法:編輯configure.ac文件,添加AC_PROG_RANLIB .同時,這個問題是因爲沒有安裝libtool,可以照之前的步驟安裝libtool1.5.6

init的時候也會出現:

src/common/compress/Makefile.am:14:variable `libcomp_a_LDFLAGS' is defined but no program or
src/common/compress/Makefile.am:14:library has `libcomp_a' as canonic name (possible typo)


 

我是直接跳過,進行configure的。

Make -j2出現:

 tblog.h: No such file or directory

解決方法:

新建./src/common/btree/tblog.h文件,將下列代碼複製進去。

/*
 * (C) 2007-2010 Taobao Inc.
 *
 * This program is free software; you canredistribute it and/or modify
 * it under the terms of the GNU General PublicLicense version 2 as
 * published by the Free Software Foundation.
 *
 *
 * Version: $Id$
 *
 * Authors:
 *  duolong <[email protected]>
 *
 */
#ifndef TBSYS_LOG_H
#define TBSYS_LOG_H
#include <stdarg.h>
#include <time.h>
#include <stdio.h>
#include <strings.h>
#include<sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <deque>
#include <string>
#include <pthread.h>
#include <sys/time.h>
#define TBSYS_LOG_LEVEL_ERROR 0
#defineTBSYS_LOG_LEVEL_WARN  1
#defineTBSYS_LOG_LEVEL_INFO  2
#defineTBSYS_LOG_LEVEL_DEBUG 3
#defineTBSYS_LOG_LEVEL(level) TBSYS_LOG_LEVEL_##level, __FILE__, __LINE__,__FUNCTION__
#defineTBSYS_LOG_NUM_LEVEL(level) level, __FILE__, __LINE__, __FUNCTION__
#define TBSYS_LOGGERtbsys::CLogger::_logger
#define TBSYS_PRINT(level,...) TBSYS_LOGGER.logMessage(TBSYS_LOG_LEVEL(level), __VA_ARGS__)
#defineTBSYS_LOG_BASE(level, ...) (TBSYS_LOG_LEVEL_##level>TBSYS_LOGGER._level) ?(void)0 : TBSYS_PRINT(level, __VA_ARGS__)
#define TBSYS_LOG(level,_fmt_, args...) ((TBSYS_LOG_LEVEL_##level>TBSYS_LOGGER._level) ? (void)0 :TBSYS_LOG_BASE(level, "[%ld] " _fmt_, pthread_self(), ##args))
#define TBSYS_LOG_US(level,_fmt_, args...) \
 ((TBSYS_LOG_LEVEL_##level>TBSYS_LOGGER._level) ? (void)0 :TBSYS_LOG_BASE(level, "[%ld][%ld][%ld] " _fmt_, \
                                                           pthread_self(), tbsys::CLogger::get_cur_tv().tv_sec, \
                                                           tbsys::CLogger::get_cur_tv().tv_usec, ##args))
namespace tbsys {
using std::deque;
using std::string;
/**
* @brief 簡單的日誌系統
*/
class           CLogger {
public:
    CLogger();
    ~CLogger();
    /** 
     * @brief
     * 
     * @param filename
     * @param fmt
     */
    void rotateLog(constchar*filename,constchar*fmt=NULL);
    /** 
     * @brief將日誌內容寫入文件
     * 
     * @param level日誌的級別
     * @param file 日誌內容所在的文件
     * @param line 日誌內容所在的文件的行號
     * @param function寫入日誌內容的函數名稱
     * @param fmt
     * @param ...
     */
    void logMessage(int level,constchar*file,int line,constchar*function,constchar*fmt, ...);
    /** 
     * @brief設置日誌的級別
     * 
     * @param levelDEBUG|WARN|INFO|ERROR
     */
    void setLogLevel(constchar*level);
    /** 
     * @brief設置日誌文件的名稱
     * 
     * @param filename日誌文件的名稱
     */
    void setFileName(constchar*filename, bool flag=false);
    /** 
     * @brief檢測文件是否已經打開,標準輸出,錯誤輸出重定向
     */
    void checkFile();
    voidsetCheck(int v) {_check= v;}
    /** 
     * @brief設置日誌文件文件的大小,達到maxFileSize就新打開一個文件
     * 如果不設置此項,日誌系統會忽略日誌滾動
     * 
     * @parammaxFileSize日誌文件的大小
     */
    void setMaxFileSize(int64_t maxFileSize=0x40000000);
    /** 
     * @brief保留最近maxFileIndex個日誌文件,超出maxFileIndex個日誌文件
     * 會按時間先後刪除,但進程重啓後日志系統會按時間先後重新統計
     * 
     * @parammaxFileIndex保留文件的最大個數
     */
    void setMaxFileIndex(int maxFileIndex=0x0F);
staticinlinestruct timevalget_cur_tv()
    {
      struct timeval tv;
      gettimeofday(&tv,NULL);
      return tv;
    };
private:
    int_fd;
    char*_name;
    int_check;
    size_t_maxFileIndex;
    int64_t_maxFileSize;
    bool _flag;
public:
    static CLogger _logger;
    int _level;
private:
    std::deque<std::string>_fileList;
    staticconstchar*const _errstr[];  
    pthread_mutex_t_fileSizeMutex;
    pthread_mutex_t _fileIndexMutex;
};
}
#endif
 
源文檔 <http://code.taobao.org/p/tb-common-utils/src/trunk/tbsys/src/tblog.h>


 

錯誤:

因爲之前沒有使用低版本的libtool1.5.6,使用的是2.2的,所以會出現這個問題:

../../../libtool:line 656: X--tag=CXX: command not found
../../../libtool:line 689: libtool: ignoring unknown tag : command not found
../../../libtool:line 656: X--mode=compile: command not found
../../../libtool:line 656: X--tag=CXX: command not found
../../../libtool:line 689: libtool: ignoring unknown tag : command not found
../../../libtool:line 656: X--mode=compile: command not found
../../../libtool:line 806: *** Warning: inferring the mode of operation is deprecated.: commandnot found
../../../libtool:line 807: *** Future versions of Libtool will require -mode=MODE be specified.:command not found
../../../libtool:line 950: Xg++: command not found
../../../libtool:line 950: X-DPACKAGE_NAME="OceanBase": command not found
../../../libtool:line 950: X-DPACKAGE_TARNAME="oceanbase": command not found
../../../libtool:line 950: X-DPACKAGE_VERSION="0.2.1": command not found
../../../libtool:line 806: *** Warning: inferring the mode of operation is deprecated.: commandnot found
../../../libtool:line 950: X-DPACKAGE_STRING="OceanBase 0.2.1": command not found
../../../libtool:line 807: *** Future versions of Libtool will require -mode=MODE be specified.:command not found
../../../libtool:line 950: X-DPACKAGE_BUGREPORT="[email protected]": command not found
../../../libtool:line 950: X-DSTDC_HEADERS=1: command not found
../../../libtool:line 950: Xg++: command not found
../../../libtool:line 950: X-DPACKAGE_NAME="OceanBase": command not found
../../../libtool:line 950: X-DHAVE_SYS_TYPES_H=1: command not found
../../../libtool:line 950: X-DHAVE_SYS_STAT_H=1: command not found
../../../libtool:line 950: X-DHAVE_STDLIB_H=1: command not found
../../../libtool:line 950: X-DPACKAGE_TARNAME="oceanbase": command not found
../../../libtool:line 950: X-DHAVE_STRING_H=1: command not found
../../../libtool:line 950: X-DPACKAGE_VERSION="0.2.1": command not found
../../../libtool:line 950: X-DHAVE_MEMORY_H=1: command not found
../../../libtool:line 950: X-DPACKAGE_STRING="OceanBase 0.2.1": command not found
../../../libtool:line 950: X-DHAVE_STRINGS_H=1: command not found
../../../libtool:line 950: X-DHAVE_INTTYPES_H=1: command not found
../../../libtool:line 950: X-DPACKAGE_BUGREPORT="[email protected]": command not found
../../../libtool:line 950: X-DHAVE_STDINT_H=1: command not found
../../../libtool:line 950: X-DSTDC_HEADERS=1: command not found
../../../libtool:line 950: X-DHAVE_UNISTD_H=1: command not found
../../../libtool:line 950: X-DHAVE_SYS_TYPES_H=1: command not found
../../../libtool:line 950: X-DHAVE_DLFCN_H=1: command not found
../../../libtool:line 950: X-DHAVE_SYS_STAT_H=1: command not found
../../../libtool:line 950: X-DLT_OBJDIR=".libs/": No such file or directory
../../../libtool:line 950: X-DHAVE_STDLIB_H=1: command not found
../../../libtool:line 950: X-DHAVE_STRING_H=1: command not found
../../../libtool:line 950: X-DHAVE_MEMORY_H=1: command not found
../../../libtool:line 950: X-DHAVE_STRINGS_H=1: command not found
../../../libtool:line 950: X-DHAVE_INTTYPES_H=1: command not found
../../../libtool:line 950: X-DHAVE_STDINT_H=1: command not found
../../../libtool:line 950: X-DPACKAGE="oceanbase": command not found
../../../libtool:line 950: X-DHAVE_UNISTD_H=1: command not found
../../../libtool:line 950: X-DVERSION="0.2.1": command not found
../../../libtool:line 950: X-DHAVE_DLFCN_H=1: command not found
../../../libtool:line 950: X-DRELEASEID="": command not found
../../../libtool:line 950: X-DLT_OBJDIR=".libs/": No such file or directory
../../../libtool:line 950: X-I.: command not found
../../../libtool:line 950: X-DPACKAGE="oceanbase": command not found
../../../libtool:line 950: X-fPIC: command not found
../../../libtool:line 950: X-DVERSION="0.2.1": command not found
../../../libtool:line 950: X-DRELEASEID="": command not found
../../../libtool:line 950: X-I.: command not found
../../../libtool:line 950: X-fPIC: command not found
../../../libtool:line 950: X-g: command not found
../../../libtool:line 950: X-g: command not found
../../../libtool:line 950: X-O2: command not found
../../../libtool:line 950: X-O2: command not found
../../../libtool:line 950: X-D_NO_EXCEPTION: command not found
../../../libtool:line 950: X-D_NO_EXCEPTION: command not found
../../../libtool:line 950: X-DCOMPATIBLE: command not found
../../../libtool:line 950: X-DCOMPATIBLE: command not found
../../../libtool:line 950: X-finline-functions: command not found
../../../libtool:line 950: X-finline-functions: command not found
../../../libtool:line 950: X-D__STDC_LIMIT_MACROS: command not found
../../../libtool:line 950: X-D__STDC_LIMIT_MACROS: command not found
../../../libtool:line 950: X-Wall: command not found
../../../libtool:line 950: X-Werror: command not found
../../../libtool:line 950: X-Wextra: command not found
../../../libtool:line 950: X-Wall: command not found
../../../libtool:line 950: X-Werror: command not found
../../../libtool:line 950: X-Wextra: command not found
../../../libtool:line 950: X-Wunused-parameter: command not found
../../../libtool:line 950: X-Wformat: command not found
../../../libtool:line 950: X-Wunused-parameter: command not found
../../../libtool:line 950: X-fno-strict-aliasing: command not found
../../../libtool:line 950: X-Wformat: command not found
../../../libtool:line 950: X-Wconversion: command not found
../../../libtool:line 950: X-fno-strict-aliasing: command not found
../../../libtool:line 950: X-Wdeprecated: command not found
../../../libtool:line 950: X-Wconversion: command not found
../../../libtool:line 950: X-D__USE_LARGEFILE64: command not found
../../../libtool:line 950: X-Wdeprecated: command not found
../../../libtool:line 950: X-D_FILE_OFFSET_BITS=64: command not found
../../../libtool:line 950: X-D__USE_LARGEFILE64: command not found
../../../libtool:line 950: X-D_LARGE_FILE: command not found
../../../libtool:line 950: X-D_FILE_OFFSET_BITS=64: command not found
../../../libtool:line 950: X-D_LARGE_FILE: command not found
../../../libtool:line 950: X-D_LARGEFILE_SOURCE: command not found
../../../libtool:line 950: X-D_LARGEFILE64_SOURCE: command not found
../../../libtool:line 950: X-MT: command not found
../../../libtool:line 950: X-D_LARGEFILE_SOURCE: command not found
../../../libtool:line 950: Xsnappy_compressor.lo: command not found
../../../libtool:line 950: X-D_LARGEFILE64_SOURCE: command not found
../../../libtool:line 950: X-MD: command not found
../../../libtool:line 950: X-MP: command not found
../../../libtool:line 950: X-MT: command not found
../../../libtool:line 950: X-MF: command not found
../../../libtool:line 950: Xlzo_compressor.lo: command not found
../../../libtool:line 950: X.deps/snappy_compressor.Tpo: No such file or directory
../../../libtool:line 950: X-MD: command not found
../../../libtool:line 950: X-c: command not found
../../../libtool:line 950: X-MP: command not found
../../../libtool:line 998: Xsnappy_compressor.lo: command not found
../../../libtool:line 950: X-MF: command not found
../../../libtool:line 1003: libtool: compile: cannot determine name of library object from `':command not found
make[5]:*** [snappy_compressor.lo] Error 1
make[5]:*** Waiting for unfinished jobs....
../../../libtool:line 950: X.deps/lzo_compressor.Tpo: No such file or directory
../../../libtool:line 950: X-c: command not found
../../../libtool:line 998: Xlzo_compressor.lo: command not found
../../../libtool:line 1003: libtool: compile: cannot determine name of library object from `':command not found
make[5]:*** [lzo_compressor.lo] Error 1
make[5]:Leaving directory `/home/fang/ob-src-dir/src/common/compress'
make[4]:*** [all-recursive] Error 1
make[4]:Leaving directory `/home/fang/ob-src-dir/src/common'
make[3]:*** [all-recursive] Error 1
make[3]:Leaving directory `/home/fang/ob-src-dir/src'
make[2]:*** [all] Error 2
make[2]:Leaving directory `/home/fang/ob-src-dir/src'
make[1]:*** [all-recursive] Error 1
make[1]:Leaving directory `/home/fang/ob-src-dir'
make:*** [all] Error 2
 


解決方法:將libtool文件裏的$echo全部替換爲$ECHO

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章