Archive for May, 2018

作者:AngryFox 分类: Uncategorized May 6th, 2018 暂无评论

注意:有些符号被数据库过滤 安装时手工修改

安装autoconf\automake\libtool:
安装autoconf(version>=2.64):
  wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
  tar -zxvf autoconf-2.69.tar.gz
  cd autoconf-2.69
  ./configure
  gmake
  gmake install
安装automake:
  wget http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
  tar -zxvf automake-1.15.tar.gz
  cd automake-1.15
  ./configure
  gmake
  gmake install
安装libtool:
  wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
  tar -zxvf libtool-2.4.6.tar.gz
  cd libtool-2.4.6
  ./configure
  gmake
  gmake install

安装g++\升级gcc支持c++11\安装pkg-config:

安装g++:yum -y install gcc gcc-c++
升级gcc支持c++11:
  wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz
  tar -zxvf gcc-4.8.1.tar.gz
  cd gcc-4.8.1
  ./contrib/download_prerequisites
  cd ../
  mkdir gcc-build-4.8.1
  cd gcc-build-4.8.1/
  ../gcc-4.8.1/configure –enable-checking=release –enable-languages=c,c++ –disable-multilib
  make -j4
  make install
安装pkg-config:
  wget https://pkg-config.freedesktop.org/releases/pkg-config-0.25.tar.gz –no-check-certificate
  tar -zxvf pkg-config-0.25.tar.gz
  cd pkg-config-0.25
  ./configure
  gmake
  gmake install

安装BerkeleyDb:

Berkeley DB要安装4.8版本

wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
tar -xzvf db-4.8.30.tar.gz
cd db-4.8.30/build_unix
../dist/configure –enable-cxx –disable-shared –with-pic –prefix=/usr/local
make install
安装boost:

//boost别安装1.66版本,上面的boost版本没法编译上面的比特币源码,有个模板的参数发生了变化,要用老版本。因为默认安装在/usr/local下面,所以把boost相关的头文件和库文件删除即可,然后再重新安装。
yum install python-devel
下载https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz
tar -zxvf boost_1_64_0.tar.gz
cd boost_1_64_0
./bootstrap.sh
./b2
./b2 install
升级openssl:

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -zxvf openssl-1.0.2l.tar.gz
cd openssl-1.0.2l
CFLAGS=-fPIC ./config shared
gmake
gmake install
echo “export PKG_CONFIG_PATH=/usr/share/pkgconfig:/usr/local/ssl/lib/pkgconfig” >> /etc/profile
source /etc/profile
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
ln -s /usr/local/ssl/lib/libssl.so /usr/lib64/libssl.so
安装libevent:

libevent要安装libevent2-devel版本
yum search libevent2-devel.x86_64
下载https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
tar -zxvf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure
gmake
gmake install
echo “export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig” >> /etc/profile
source /etc/profile
编译bitcoin源代码:

安装git:yum -y install git
从github克隆源代码仓库:git clone https://github.com/bitcoin/bitcoin.git
签出最新发布版代码:
  cd bitcoin/
  git tag
  git checkout v0.15.0rc3

ACLOCAL_PATH=/usr/local/share/aclocal ./autogen.sh
./configure
gmake
gmake install
//;chmod +x ./autogen.sh;chmod +x ./share/genbuild.sh;./autogen.sh;./configure –without-gui –disable-tests –disable-gui-tests –disable-bench;cd src;make;./momod;

常见问题
1.编译PCL的时候,cmake的时候出现cannot find Boost libraries
system
filesystem
thread
date_time
iostreams
chrono

解决办法:
1.首先分析,既然找不到,那么是没有安装这个文件呢,还是有这个文件但是编译的时候找不到呢?

首先去判断是否已经有文件存在.
locate boost_system
没有的话就去下载
mkdir -p /mnt/x
mv /usr/lib64/libboost* /mnt/x/
ln -s /usr/local/lib/libboost_program_options.so.1.64.0 /usr/lib64/libboost_program_options-mt.so
ln -s /usr/local/lib/libboost_thread.so /usr/lib64/libboost_thread-mt.so

2.取消旧版本 boost软链接
删除软链接 确实是用rm 但是!!!
rm -fr xxxx/ 加了个/ 这个是删除文件夹
rm -fr xxxx 没有/ 这个是删除软链接

3./lib64/libstdc++.so.6: version `GLIBCXX_3.4.20′ not found问题解决方法
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
发现少了GLIBCXX_3.4.20,解决方法是升级libstdc++.
yum provides libstdc++.so.6
yum install libstdc++-4.8.5-11.el7.i686
1)、从路径/usr/local/lib64拷贝文件libstdc++.so.6.0.20到路径/usr/lib64
2)、删除/usr/lib64原来的libstdc++.so.6 #强烈建议删除之前先备份一份
3)、重新建立软连接ln libstdc++.so.6.0.20 libstdc++.so.6
4)、重新执行strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

原文

https://www.jianshu.com/p/56c9c63dbe8d