3

从github获取酱汁,阅读 doc/build-unix.txt 中的说明。但是make不能编译进去!

[urs1412@noname 比特币]$cd src

[urs1412@noname src]$make -f makefile.unix

g++ -c -O2 -pthread -Wall -Wextra -Wformat -Wformat-security \
-Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE \
-D_FILE_OFFSET_BITS=64 -I/home/urs1412/w/bitcoin/src \
-I/home/urs1412/w/bitcoin/src/obj -DUSE_UPNP=0 -DUSE_IPV6=1 \
-I/home/urs1412/w/bitcoin/src/leveldb/include \
-I/home/urs1412/w/bitcoin/src/leveldb/helpers \
-DHAVE_BUILD_INFO -fno-stack-protector \
-fstack-protector-all -Wstack-protector \
-D_FORTIFY_SOURCE=2  -MMD -MF obj/alert.d \
-o obj/alert.o alert.cpp \

alert.cpp:6:53: fatal error: boost/algorithm/string/classification.hpp: 
No such file or directory
compilation terminated.
make: *** [obj/alert.o] Error 1

td;dr 无法构建,倾销系统信息

[urs1412@noname src]$ uname -r

3.6.10-4.fc18.x86_64

[urs1412@noname src]$ git log -n 1

提交 77a1e12eed5fc66dce16584696f54988a8c2bf4e 合并:fe15aa3 0565b71 作者:Gavin Andresen 日期:2013 年 4 月 24 日星期三 08:48:06 -0700

Merge pull request #2554 from fanquake/qt-pro-brew-patch

bitcoin-qt.pro Brew patch
4

2 回答 2

3

我终于能够在我的 CentOS VPS 上构建 bitcoin-1.8(不是git 源,尽管我相信这些相同的步骤也适用)。

这是我必须安装的软件包。请注意,我必须构建其中的一些。

作为根:

yum install gcc-c++ make
install boost-devel 
yum install db4-devel
yum install openssl-devel  # but this didn't provide ec.h, hence the next steps
yum install rpm-build
rpm -U ~jcomeau/rpmbuild/RPMS/x86_64/openssl-devel-1.0.0e-1.x86_64.rpm 
yum install lynx  # for downloading some source packages
yum install python-devel  # for building miniupnpc
rpm -i ~jcomeau/rpmbuild/RPMS/x86_64/libminiupnpc9-1.8.20130503-0.1.x86_64.rpm 
rpm -i ~jcomeau/rpmbuild/RPMS/x86_64/libminiupnpc-devel-1.8.20130503-0.1.x86_64.rpm

然后作为用户,make BOOST_LIB_SUFFIX=-mt all test

如果您需要有关构建 openssl-devel(规范文件在源代码中并且主要是功能性的)和 libminiupnpc-devel(我从 OpenSUSE 源 RPM 获得规范文件并对其进行修改)的说明,请告诉我。

我相信您的直接问题是您没有安装 openssl-devel。但是,如果您不执行我所做的某些步骤,那么之后您可能会遇到这些其他问题。

于 2013-05-11T02:58:32.060 回答
1

确保 gcc 的 boost 库工作正常。尝试一个带有 boost 的测试“hello world”程序。您可以在以下目录中找到它: BOOST_BUILD_PATH/example/hello 使用 BOOST_BUILD_PATH/bin/b2 工具集=gcc 编译它 如果它不起作用,则说明没有正确安装 boost。

于 2015-05-15T21:43:36.100 回答