Неважно; необходимо добавить поддержку подталкивания-Chrono в Makefile.
Разработчик должен изменить Makefile.unix к этому:
# Copyright (с) 2009-2010 Сатоси Накамото
# Распространяется под лицензией MIT / X11 см сопровождающего
# Файл КОПИРОВАНИЕ или http://www.opensource.org/licenses/mit-license.php.
#: = 0 -> Поддержка UPnP отключена по умолчанию во время выполнения
#: = 1 -> Поддержка UPnP включена по умолчанию во время выполнения
знак равно> Нет поддержки UPnP - не требуется miniupnp
USE_UPNP: = 0
#: = 1 -> Поддержка IPv6
#: = 0 -> Отключение поддержки IPv6
USE_IPV6: 1 =
LINK: = $ (CXX)
DEFS = -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS = 64
DEFS + = $ (addprefix -I, $ (CurDir) $ (CurDir) / OBJ $ (BOOST_INCLUDE_PATH) $ (BDB_INCLUDE_PATH) $ (OPENSSL_INCLUDE_PATH))
ЛИЭС = $ (addprefix -L, $ (BOOST_LIB_PATH) $ (BDB_LIB_PATH) $ (OPENSSL_LIB_PATH))
TESTDEFS = -DTEST_DATA_DIR = $ (abspath тест / данные)
LMODE = динамическая
LMODE2 = динамическая
IFDEF STATIC
LMODE = статическая
ifeq ($ {} STATIC, все)
LMODE2 = статическая
ENDIF
еще
TESTDEFS + = -DBOOST_TEST_DYN_LINK
ENDIF
# Для повышения 1,37, добавьте -mt к библиотекам наддува
LIBS + = \
-Wl, -B $ (LMODE) \
-л boost_system $ (BOOST_LIB_SUFFIX) \
-л boost_filesystem $ (BOOST_LIB_SUFFIX) \
-л boost_program_options $ (BOOST_LIB_SUFFIX) \
-л boost_thread $ (BOOST_LIB_SUFFIX) \
-л db_cxx $ (BDB_LIB_SUFFIX) \
-л SSL \
-л криптография \
-л boost_chrono $ (BOOST_LIB_SUFFIX)
TESTLIBS + = \
-Wl, -B $ (LMODE) \
-л boost_unit_test_framework $ (BOOST_LIB_SUFFIX)
IfNDef USE_UPNP
переопределить USE_UPNP = -
ENDIF
ifneq ($ {USE_UPNP} -)
ЛИЭС + = -l miniupnpc
DEFS + = -DUSE_UPNP = $ (USE_UPNP)
ENDIF
ifneq ($ {USE_IPV6} -)
DEFS + = -DUSE_IPV6 = $ (USE_IPV6)
ENDIF
LIBS + = \
-Wl, -B $ (LMODE2) \
-л г \
-л дл \
-л нитей
# Закалка
# Сделать некоторые классы уязвимостей unexploitable в случае один обнаружен.
#
# Это обходной путь для Ubuntu ошибка # 691722, по умолчанию -fstack-протектор приводит к тому,
# -fstack-защитник-все будет игнорироваться, если -fno стек-протектор не используется первым.
# См: https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/691722
ЗАКАЛКА = -fno-стек-протектор
# Стек Канары
# Поместите номера в начале каждого кадра стека и убедитесь, что они одинаковы.
# Если буфера стека, если переполняется, он пишет по канареечно числа, а затем по возвращении
# Когда это число проверяется, не будет таким же, и программа будет выходить с
# "Стек разбивая обнаружено" ошибка вместо того, чтобы быть эксплуатируемыми.
ЗАКАЛКА + = - fstack-протектор-все -Wstack-протектор
# Сделать некоторые важные вещи, такие как глобальной таблицы смещений только для чтения, как только
# Динамический компоновщик закончил строительство его. Это позволит предотвратить перезапись адресов
#, Который позже будет прыгнул.
LDHARDENING + = - Wl, -z, relro -Wl, -z, теперь
# Сложение позиции независимый код, чтобы воспользоваться Address Space Layout рандомизации
# Предлагаемых некоторые ядра.
# См DOC / наращивание unix.txt для получения дополнительной информации.
IFDEF PIE
ЗАКАЛКА + = - fPIE
LDHARDENING + = - пирог
ENDIF
# -D_FORTIFY_SOURCE = 2 делают некоторые проверки потенциально годные для использования шаблонов коды в
# Источник, например переполнение статически определенный буфер.
ЗАКАЛКА + = - D_FORTIFY_SOURCE = 2
#
DEBUGFLAGS = -g
# CXXFLAGS может быть указано в командной строке макияжа, поэтому мы используем xCXXFLAGS, что только
# Добавляет некоторые умолчания впереди. К сожалению, CXXFLAGS = ... $ (CXXFLAGS) не работает.
xCXXFLAGS = -O2 -pthread -Wall -Wextra -Wformat -Wformat-безопасность -Wno-неиспользованный-параметр \
$ (DEBUGFLAGS) $ (DEFS) $ (закалка) $ (CXXFLAGS)
# LDFLAGS может быть указана в командной строке макияжа, поэтому мы используем xLDFLAGS, что только
# Добавляет некоторые умолчания впереди. К сожалению, LDFLAGS = ... $ (LDFLAGS) не работает.
xLDFLAGS = $ (LDHARDENING) $ (LDFLAGS)
OBJS = \
LevelDB / libleveldb.a \
объект / alert.o \
объект / version.o \
объект / checkpoints.o \
объект / netbase.o \
объект / addrman.o \
объект / crypter.o \
объект / key.o \
объект / db.o \
объект / init.o \
объект / keystore.o \
объект / main.o \
объект / net.o \
объект / protocol.o \
объект / bitcoinrpc.o \
объект / rpcdump.o \
объект / rpcnet.o \
объект / rpcmining.o \
объект / rpcwallet.o \
объект / rpcblockchain.o \
объект / rpcrawtransaction.o \
объект / script.o \
объект / sync.o \
объект / util.o \
объект / wallet.o \
объект / walletdb.o \
объект / hash.o \
объект / bloom.o \
объект / noui.o \
объект / leveldb.o \
объект / txdb.o
всего: bitcoind
проверка тест: test_bitcoin FORCE
./ test_bitcoin
#
# LevelDB поддержка
#
MAKEOVERRIDES =
LIBS + = $ (Curdir) /leveldb/libleveldb.a $ (Curdir) /leveldb/libmemenv.a
DEFS + = $ (addprefix -I, $ (CurDir) / LevelDB / включить)
DEFS + = $ (addprefix -I, $ (Curdir) / LevelDB / хелперы)
LevelDB / libleveldb.a:
@echo "Строительство LevelDB ..." && кд LevelDB && $ (MAKE) CC = $ (CC) CXX = $ (CXX) OPT ="$ (xCXXFLAGS)" libleveldb.a libmemenv.a && CD ..
# автоматически генерируемые зависимости:
-включают объект / *. P
-включают в себя OBJ-тест / *. Р
объект / build.h: FORCE
/ Бен / ш ../share/genbuild.sh объект / build.h
version.cpp: объект / build.h
DEFS + = -DHAVE_BUILD_INFO
OBJ /% о:.% .cpp
$ (CXX) -c $ (xCXXFLAGS) -MMD -MF $ (@:..% О =% d) -o $ @ $<
@cp $ (@:% о =% д..) $ (@:..% о =% Р); \
СЕПГ -e 's /#.*//' -e 's / ^ [^:] *: * //' -e 's / * \\ $$ //' \
-е '/ ^ $$ / d' -e 's / $$ /: /' < $ (@:..% О =% d) >> $ (@:% О =% P..); \
гт -f $ (@:..% о =% d)
bitcoind: $ (OBJS: объект /% = OBJ /%)
$ (LINK) $ (xCXXFLAGS) -o $ @ $ ^ $ (xLDFLAGS) $ (LIBS)
TESTOBJS: = $ (... Тест patsubst /% касты, OBJ-тест /% о, $ (подстановочный тест / * CPP))
OBJ-тест /% о:.. тест /% каст
$ (CXX) -c $ (TESTDEFS) $ (xCXXFLAGS) -MMD -MF $ (@:..% О =% d) -o $ @ $<
@cp $ (@:% о =% д..) $ (@:..% о =% Р); \
СЕПГ -e 's /#.*//' -e 's / ^ [^:] *: * //' -e 's / * \\ $$ //' \
-е '/ ^ $$ / d' -e 's / $$ /: /' < $ (@:..% О =% d) >> $ (@:% О =% P..); \
гт -f $ (@:..% о =% d)
test_bitcoin: $ (TESTOBJS) $ (фильтр-аут объект / init.o, $ (OBJS: OBJ /% = OBJ /%))
$ (LINK) $ (xCXXFLAGS) -o $ @ $ (LIBPATHS) $ ^ $ (TESTLIBS) $ (xLDFLAGS) $ (LIBS)
чистить:
-гт -f bitcoind test_bitcoin
-гт -f объект / *. о
-гт -f OBJ-тест / *. о
-гт -f объект / *. P
-гт -f OBJ-тест / *. P
-гт -f объект / build.h
-кд LevelDB && $ (MAKE) чистый || правда
СИЛЫ: