Pages:
Author

Topic: Собрал 0.13.0 из исходников - page 9. (Read 36801 times)

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  Sad

в 13-й версии встроили Сегвит, пока как заглушку, для теста видимо. По этой причине скорее всего и убрали майнинг, чтобы никто не стал мутить с форками. Должны вернуть в окончательном варианте с сегвитом.

А вообще странно всё это.

Разрабы объясняют это решение просто: майнинг битков на процессоре уже давно никому не нужен, поэтому соответствующий код в исходниках это мертвый груз.
Логика понятна. Но для разработчиков форков это означает, что если делать форк с 13 версии и выше, то нужно еще разбираться со сторонним софтом для майнинга.
hero member
Activity: 1050
Merit: 508
Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  Sad

в 13-й версии встроили Сегвит, пока как заглушку, для теста видимо. По этой причине скорее всего и убрали майнинг, чтобы никто не стал мутить с форками. Должны вернуть в окончательном варианте с сегвитом.

А вообще странно всё это.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  Sad
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 25, 2016, 01:07:25 PM
#13
А прямо в винде, в Qt не пробовали собирать ?

Не пробовал. И так понятно, что не соберется.

Разрабы пишут, что теоретически можно в винде собрать, но что-то на практике о таких умельцах никто не слышал пока.

Quote
Building on Windows itself is possible (for example using msys / mingw-w64), but no one documented the steps to do this. If you are doing this, please contribute them.
https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md
legendary
Activity: 2296
Merit: 1057
September 25, 2016, 11:08:40 AM
#12
А прямо в винде, в Qt не пробовали собирать ?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 24, 2016, 02:32:29 PM
#11
full member
Activity: 173
Merit: 100
September 24, 2016, 10:49:20 AM
#10

Следующая сборка проходит быстрее.
...

Возможно при первой сборке он по сети что-то подтягивает? Например, недостающие библиотеки? А сколько времени вторая и последующая сборки занимают?

Не могли бы вы рассказать поподробнее, на какой машине всё делали - процессор, частота главное, сколько оперативки стоит, сколько на диске требуется места и т.д. Какой софт - линукс, винда и т.д. какие компиляторы, среда, на всех этапах с самого начала?

Спасибо.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 24, 2016, 04:32:52 AM
#9
Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.

Да, для винды на линуксе.
Разрабы на гитхабе пишут, что на винде собрать пока никому не удалось. Так что у желающих есть шанс войти в историю  Grin

Спасибо за информацию... И что, при следующей сборке опять 10 часов нужно ждать, или не всё подряд компилирует и получается быстрее? 10 часов это совсем медленно.

Следующая сборка проходит быстрее.
Компилируется только то, что исправили в исходниках.
full member
Activity: 219
Merit: 103
September 24, 2016, 04:30:56 AM
#8
Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.

Да, для винды на линуксе.
Разрабы на гитхабе пишут, что на винде собрать пока никому не удалось. Так что у желающих есть шанс войти в историю  Grin

Спасибо за информацию... И что, при следующей сборке опять 10 часов нужно ждать, или не всё подряд компилирует и получается быстрее? 10 часов это совсем медленно.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 24, 2016, 03:29:18 AM
#7
Собрал для винды.
Но блин 10 часов собиралось на виртуалке!!! Это жопа конечно  Sad

Почему с первого раза не собралось - потому что надо было сделать сначала
make clean

Чтобы очистить комп от предыдущей сборки под линукс. Потом
make
make install

и все собирается.

Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.

Да, для винды на линуксе.
Разрабы на гитхабе пишут, что на винде собрать пока никому не удалось. Так что у желающих есть шанс войти в историю  Grin
sr. member
Activity: 352
Merit: 253
September 24, 2016, 03:26:48 AM
#6
Собрал для винды.
Но блин 10 часов собиралось на виртуалке!!! Это жопа конечно  Sad

Почему с первого раза не собралось - потому что надо было сделать сначала
make clean

Чтобы очистить комп от предыдущей сборки под линукс. Потом
make
make install

и все собирается.

Ты для Винды на Линуксе собирал? )

Чем собирать на Виндах? Хочу в перспективе тоже этим позаниматься.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 24, 2016, 12:12:41 AM
#5
Собрал для винды.
Но блин 10 часов собиралось на виртуалке!!! Это жопа конечно  Sad

Почему с первого раза не собралось - потому что надо было сделать сначала
make clean

Чтобы очистить комп от предыдущей сборки под линукс. Потом
make
make install

и все собирается.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 23, 2016, 05:40:57 AM
#4
Черт, для винды бинарики не собираются. Делаю по инструкции с гитхаба:
cd depends
make HOST=x86_64-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
make

Первый мэйк чего-то делал аж 5 часов! Но вроде отработал без ошибок.
Последний мэйк вылетает с ошибкой.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 22, 2016, 02:24:50 PM
#3
2. Скачать последний дистрибутив убунту 32 битную версию (Oracle VM только такие поддерживает)

Почему только такие, стоит несколько 64 и 32 битных, разных версий, все работают норм, версия 4.3.12-93733

Да точно, 64 бит тоже поддерживает. Исправлю первый пост.
legendary
Activity: 1148
Merit: 1051
September 22, 2016, 09:21:22 AM
#2
2. Скачать последний дистрибутив убунту 32 битную версию (Oracle VM только такие поддерживает)

Почему только такие, стоит несколько 64 и 32 битных, разных версий, все работают норм, версия 4.3.12-93733
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
September 22, 2016, 08:51:53 AM
#1
Вообще никаких проблем! Даже не ожидал, что опенсорс может так легко собраться.
Делюсь опытом, вдруг кому пригодится. По шагам:

1. Установить Oracle VM VirtualBox - это бесплатная виртуальная машина.
2. Скачать последний дистрибутив убунту
3. Установить убунту на виртуальную машину (!версия убунту должна быть 14 или выше!)
4. Опционально: Установить дополнения в виртуальную машину (меню Устройства), чтобы можно было работать с буфером обмена
5. Зайти в консоль убунты: Alt+Ctrl+T
6. В консоли по очереди набирать (копипастить) следующие команды:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libzmq3-dev
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev

Замечание: на другом компе у меня команда sudo add-apt-repository ppa:bitcoin/bitcoin
выдала ошибку. Без этой команды все остальное тоже фейлится. Вылечилось так:

sudo apt-get update
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update

Ну то есть перед этой командой сначала нужно проапдейтиться.

7. Теперь все готово для скачивания и компиляции битка. Я скачал из ветки релизов последнюю версию:
wget https://github.com/bitcoin/bitcoin/archive/v0.13.0.tar.gz

8. Распаковываем и переходим в папку исходников:
tar -xvzf v0.13.0.tar.gz
cd bitcoin-0.13.0

9. Вводим по очереди:
./autogen.sh
./configure
make
sudo make install


10. Все! Теперь бинарики для убунты лежат в папке /usr/local/bin

Теперь можно издеваться над исходниками в любимом редакторе, а когда надоест опять выполнить из папки исходников:
make
sudo make install

ВАЖНО: Если кто-то захочет делать форк, то учтите что в 13 версии коры из исходников выпилили возможность майнинга. Поэтому для форка нужно либо использовать версии 12 и ниже, либо придется делать еще и форк какого-нибудь майнера.
Мне потребовалась неделя, чтобы понять - почему моя сборка упорно не хочет майнить.  Sad

ПО ПУНКТУ 9: Если нужно сделать бинарик, который будет работать не только в убунте, но и в других линуксах, то в пункте 9 нужно проделать такие шаги:

Для Linux 64 bit (собирается и работает только в 64 битном линуксе)
Code:
cd depends
make download
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/x86_64-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install
Бинарики будут лежать в папке depends/x86_64-pc-linux-gnu/bin

Для Linux 32 bit (собирается и работает только в 32 битном линуксе)
Code:
cd depends
make download
make
cd ..
./autogen.sh
./configure --enable-glibc-back-compat --prefix=`pwd`/depends/i686-pc-linux-gnu LDFLAGS="-static-libstdc++"
make clean
make
make install
Бинарики будут лежать в папке depends/i686-pc-linux-gnu/bin

Такая компиляция прилинкует к бинарику все нужные библиотеки.

Собрать бинарики для винды можно так:

Для Win64
Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
cd depends
make download
make HOST=x86_64-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
make clean
make
make install
Бинарики будут лежать в папке depends/x86_64-w64-mingw32/bin

Для Win32
Code:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
cd depends
make download
make HOST=i686-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/i686-w64-mingw32
make clean
make
make install
Бинарики будут лежать в папке depends/i686-w64-mingw32/bin


Полезные ссылки в этой теме:


Для компиляции нужно не менее 2 ГБ оперативной памяти. Если у вас меньше, можно увеличить:
Как добавить виртуальной памяти в Убунту

Если все скомпилировалось а вы решили делать свой форк, то вот инструкция:
Как сделать свой форк биткоина


Pages:
Jump to: