Bitcoin Forum

Local => Новички => Topic started by: ZayCev on February 11, 2013, 09:09:29 PM



Title: Bitcoind на Ubuntu 8.04 (ошибка)
Post by: ZayCev on February 11, 2013, 09:09:29 PM
Всем доброго времени суток. Вот понадобилось поднять "платежный сервер" для магазина. В наличии выделенный сервер с ubuntu 8.04 (x32).
Настроил все по инструкции Lexiko https://bitcointalk.org/index.php?topic=62498.0
Бинарник использовался последний на сегодняшний день. И естественно свежая база. (если кому нужно, пишите, дам ссылку на скачку)
Скрипт подправлен немного, но в целом все 1:1. Только вот не стартует. Ошибка:

/etc/init.d/bitcoin start
Starting BitCoin Daemon:
/usr/local/bin/bitcoind: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/local/bin/bitcoind)
return: 60: Illegal number: true


Погуглил ошибку, встречается у многих, на разном софте. Но все найденные форумы на английском, моих знаний на понимание не хватает, переводчик тоже не спас.

Возможно кто то сталкивался с такой же проблемой, подскажите как решить, а?



Title: Re: Bitcoind на Ubuntu 8.04 (ошибка)
Post by: ZayCev on February 12, 2013, 02:01:51 AM
Решил данную проблему обновлением до 10.04
Ошибка была из за того, что собрано было на более новом компиляторе. А на 8.04 данной версии нету, пересобрать на более старой возможности не было, обновил систему.

Но теперь возникла небольшая неприятность, не хочет принимать базу.

Error initializing database environment /var/lib/bitcoin/.bitcoin! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.

Если очистить, все гуд! Но выкачивать 6 гб снова не очень хочется, слишком долгая синхронизация, тем более есть вчерашняя база.
Сейчас вопрос больше к тем, кто шарит в линуксе.
Нашел на форуме тему https://bitcointalk.org/index.php?topic=119277.0, там сказано:

If you were running on Linux with a version that might have been compiled
with a different version of Berkeley DB (for example, if you were using an
Ubuntu PPA version), then run the old version again with the -detachdb
argument and shut it down; if you do not, then the new version will not
be able to read the database files and will exit with an error.

Explanation of -detachdb (and the new "stop true" RPC command):
The Berkeley DB database library stores data in both ".dat" and
"log" files, so the database is always in a consistent state,
even in case of power failure or other sudden shutdown. The
format of the ".dat" files is portable between different
versions of Berkeley DB, but the "log" files are not-- even minor
version differences may have incompatible "log" files. The
-detachdb option moves any pending changes from the "log" files
to the "blkindex.dat" file for maximum compatibility, but makes
shutdown much slower. Note that the "wallet.dat" file is always
detached, and versions prior to 0.6.0 detached all databases
at shutdown.


Как я понял, нужно запустить с параметром "-detachdb", а как это сделать?
Пробовал по разному, вот такими вариантами

/etc/init.d/bitcoin start --detachdb
/etc/init.d/bitcoin start -detachdb
/etc/init.d/bitcoin --detachdb start


Ни в какую не хочет. Люди добрые, подскажите, как сделать то?


Title: detachdb
Post by: Yurock on February 12, 2013, 03:12:48 AM
detachdb надо делать на том компе, с которого берёте базу. В Bitcoin-Qt есть настройка "отключать базы данных при выходе". Это и есть detachdb. Или можно в дать команду в консоли: stop true. Если используете RCP, то: bitcoind stop true. Или запустите bitcoin-qt -detachdb или bitcoind -detachdb и затем bitcoind stop. На том компе, куда переносите базу, detachdb не требуется.


Title: Re: detachdb
Post by: ZayCev on February 12, 2013, 10:04:24 AM
detachdb надо делать на том компе, с которого берёте базу. В Bitcoin-Qt есть настройка "отключать базы данных при выходе". Это и есть detachdb. Или можно в дать команду в консоли: stop true. Если используете RCP, то: bitcoind stop true. Или запустите bitcoin-qt -detachdb или bitcoind -detachdb и затем bitcoind stop. На том компе, куда переносите базу, detachdb не требуется.

Понятно, Спасибо!