mrBuG (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
May 13, 2011, 04:19:30 PM |
|
Имеем в наличииСписок уже установленных пакетов (вдруг заругается, что чего-то не хватает) тутЧистый профиль пользователя: b@host:~$ ls -al total 20 drwxr-xr-x 2 bitcoin bitcoin 4096 May 13 19:48 . drwxr-xr-x 4 root root 4096 May 13 19:43 .. -rw-r--r-- 1 bitcoin bitcoin 220 May 13 19:43 .bash_logout -rw-r--r-- 1 bitcoin bitcoin 3184 May 13 19:43 .bashrc -rw-r--r-- 1 bitcoin bitcoin 675 May 13 19:43 .profile
b@host:~$ pwd /home/bitcoin Система: Linux 2.6.32-5-amd64 b@host:~$ cat /etc/debian_version 6.0.1
Процессор: b@host:~$ cat /proc/cpuinfo vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz stepping : 10 cpu MHz : 2000.034 cache size : 6144 KB cpu cores : 4 Вот в этом профиле все и будем собирать b@host:~$ mkdir src b@host:~$ cd src b@host:~/src$ Устанавливаем JWASMhttp://www.japheth.de/Download/JWasm/JWasm205bl.zipb@host:~/src$ mkdir ~/bin b@host:~/src$ wget http://www.japheth.de/Download/JWasm/JWasm205bl.zip b@host:~/src$ unzip JWasm205bl.zip -d jwasm b@host:~/src$ cp jwasm/JWASM ~/bin/jwasm b@host:~/src$ chmod +x ~/bin/jwasm b@host:~/src$ source ~/.bashrc b@host:~/src$ source ~/.profile Сборка gcc-4.5.3К сожалению в репозитории я не нашел нужной версии (может плохо искал). Собираем по очереди необходимые зависимости. (GMP) version 4.3.2 (or later) http://ftp://ftp.gmplib.org/pub/gmp-5.0.2/gmp-5.0.2.tar.gzb@host:~/src$ wget -c ftp://ftp.gmplib.org/pub/gmp-5.0.2/gmp-5.0.2.tar.gz b@host:~/src$ tar zfx gmp-5.0.2.tar.gz b@host:~/src$ cd gmp-5.0.2/ b@host:~/src/gmp-5.0.2$ b@host:~/src/gmp-5.0.2$ ./configure --prefix=/home/bitcoin b@host:~/src/gmp-5.0.2$ make b@host:~/src/gmp-5.0.2$ make check b@host:~/src/gmp-5.0.2$ make install b@host:~/src/gmp-5.0.2$ cd ../ MPFR Library version 2.4.2 (or later) http://www.mpfr.org/mpfr-current/mpfr-3.0.1.tar.gzb@host:~/src$ wget -c http://www.mpfr.org/mpfr-current/mpfr-3.0.1.tar.gz b@host:~/src$ tar zfx mpfr-3.0.1.tar.gz b@host:~/src$ cd mpfr-3.0.1/ b@host:~/src/mpfr-3.0.1$ b@host:~/src/mpfr-3.0.1$ ./configure --prefix=/home/bitcoin --with-gmp=/home/bitcoin b@host:~/src/mpfr-3.0.1$ make b@host:~/src/mpfr-3.0.1$ make check b@host:~/src/mpfr-3.0.1$ make install b@host:~/src/mpfr-3.0.1$ cd ../ MPC Library version 0.8.1 (or later) http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gzb@host:~/src$ wget -c http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz b@host:~/src$ tar zfx mpc-0.9.tar.gz b@host:~/src$ cd mpc-0.9/ b@host:~/src/mpc-0.9$ ./configure --prefix=/home/bitcoin --with-gmp=/home/bitcoin --with-mpfr=/home/bitcoin b@host:~/src/mpc-0.9$ make b@host:~/src/mpc-0.9$ make install b@host:~/src/mpc-0.9$ cd ../ Parma Polyhedra Library (PPL) version 0.11 http://www.cs.unipr.it/ppl/Download/ftp/releases/0.11.2/ppl-0.11.2.tar.gzb@host:~/src$ wget -c http://www.cs.unipr.it/ppl/Download/ftp/releases/0.11.2/ppl-0.11.2.tar.gz b@host:~/src$ tar zfx ppl-0.11.2.tar.gz b@host:~/src$ cd ppl-0.11.2/ b@host:~/src/ppl-0.11.2$ ./configure --prefix=/home/bitcoin --with-gmp-prefix=/home/bitcoin b@host:~/src/ppl-0.11.2$ make b@host:~/src/ppl-0.11.2$ make install b@host:~/src/ppl-0.11.2$ cd ../ CLooG-PPL version 0.15 or CLooG 0.16 http://ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.16.2.tar.gzb@host:~/src$ wget -c ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.16.2.tar.gz b@host:~/src$ tar zfx cloog-0.16.2.tar.gz b@host:~/src$ cd cloog-0.16.2/ b@host:~/src/cloog-0.16.2$ ./configure --prefix=/home/bitcoin --with-gmp-prefix=/home/bitcoin --with-polylib-prefix=/home/bitcoin b@host:~/src/cloog-0.16.2$ make b@host:~/src/cloog-0.16.2$ make install b@host:~/src/cloog-0.16.2$ cd ../ GCC-4.5.3 http://ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.5.3/gcc-4.5.3.tar.gzПараметр -j нужен для параллельной сборки, как правило равен количеству ядер. В нашем случае их 4. b@host:~/src$ wget -c ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.5.3/gcc-4.5.3.tar.gz b@host:~/src$ tar zfx gcc-4.5.3.tar.gz b@host:~/src$ mkdir ~/objdir b@host:~/src$ cd ~/objdir b@host:~/objdir$ export LD_LIBRARY_PATH=/home/bitcoin/lib:$LD_LIBRARY_PATH b@host:~/objdir$ ../src/gcc-4.5.3/configure --prefix=/home/bitcoin --enable-languages=c,c++ --with-gmp=/home/bitcoin --with-mpfr=/home/bitcoin --with-mpc=/home/bitcoin --with-ppl=/home/bitcoin --with-cloog=/home/bitcoin b@host:~/objdir$ make -j 4 b@host:~/objdir$ make install b@host:~/objdir$ cd ../src Сборка PCRE (под 32b)http://ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gzb@host:~/objdir$ cd ../src b@host:~/src$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz b@host:~/src$ tar zfx pcre-8.12.tar.gz b@host:~/src$ cd pcre-8.12/ b@host:~/src/pcre-8.12$ b@host:~/src/pcre-8.12$ ./configure --prefix=/home/bitcoin "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" --enable-utf8 b@host:~/src/pcre-8.12$ make b@host:~/src/pcre-8.12$ make install b@host:~/src/pcre-8.12$ cd ../ Сборка CURL (под 32b)http://curl.haxx.se/download/curl-7.21.6.tar.gzb@host:~/src$ wget -c http://curl.haxx.se/download/curl-7.21.6.tar.gz b@host:~/src$ tar zfx curl-7.21.6.tar.gz b@host:~/src$ cd curl-7.21.6/ b@host:~/src/curl-7.21.6$ ./configure --prefix=/home/bitcoin "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" --without-libssh2 b@host:~/src/curl-7.21.6$ make b@host:~/src/curl-7.21.6$ make install b@host:~/src/curl-7.21.6$ cd ../
Собираем Ufasoft Miner (под 32b)http://ufasoft.com/files/open/ufasoft_bitcoin-miner-0.10.tar.lzmab@host:~/src$ wget http://ufasoft.com/files/open/ufasoft_bitcoin-miner-0.10.tar.lzma b@host:~/src$ tar fx ufasoft_bitcoin-miner-0.10.tar.lzma b@host:~/src$ cd ufasoft_bitcoin-miner-0.10/ b@host:~/src/ufasoft_bitcoin-miner-0.10$ ./configure --prefix=/home/bitcoin "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
Открываем получившийся Makefile, ищем строку JASMFLAGS = -DX64=1 -10 -elf64 Убираем метку -DX64=1 и меняем -elf64 на -elf. Итого получится так Продолжаем сборку b@host:~/src/ufasoft_bitcoin-miner-0.10$ make b@host:~/src/ufasoft_bitcoin-miner-0.10$ make install Запускb@host:~/src/ufasoft_bitcoin-miner-0.10$ cd ~/bin b@host:~/bin$ export LD_LIBRARY_PATH=/home/bitcoin/lib32:$LD_LIBRARY_PATH b@host:~/bin$ ./bitcoin-miner -a 5 -o http://deepbit.net:8332 -u user@mail.com -p passwd -t 4 bitcoin-miner 0.10 Copyright (c) 2011 Ufasoft http://ufasoft.com/open/bitcoin Mining for http://deepbit.net:8332 4 threads Using SSE2 Switching to http://j2.deepbit.net:8332 P.S. Чтобы не держать консоль открытой, приходится использовать screen. Я все же думаю, что автор доделает нормальную версию под 64b
|
|
|
|
m0Ray
|
|
May 14, 2011, 12:46:16 AM |
|
кАшмАр какой... Интересно, реально ли в дебиан-подобных системах сделать по-человечески, как в openSuSE, чтобы 64- и 32-битные среды работали одновременно и не мешали друг другу?
|
|
|
|
mrBuG (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
May 14, 2011, 01:32:58 AM |
|
кАшмАр какой... Интересно, реально ли в дебиан-подобных системах сделать по-человечески, как в openSuSE, чтобы 64- и 32-битные среды работали одновременно и не мешали друг другу?
Вроде как в Ubuntu все необходимое есть в репах, но сам не проверял
|
|
|
|
Zenitur
|
|
May 15, 2011, 04:51:15 AM Last edit: May 15, 2011, 05:02:21 AM by Zenitur |
|
Почему именно gcc 4.5.3? У меня 4.5.2, обновить не проблема но лень. ufasoft выдаёт 0 MHASH.
Насчёт "нормальной 64-битной версии под Linux" - я искал ту проблему, на которую ругается компилятор, и нашёл. Дело в том, что задавать тип языка для 64-битного ассемблера MASM не надо. Соответствующую ошибку исправляли в официальном MASM когда-то давно. Поэтому в коде и сказано "IF X64 ELSE и назначен язык". Для X64 никаких действий не выполняется. Если сделать чтобы выполнялись (удалив все эти IF и ELSE) то всё компилируется. Только вот не работает (у меня).
|
|
|
|
mrBuG (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
May 15, 2011, 04:54:25 AM |
|
Почему именно gcc 4.5.3? У меня 4.5.2, обновить не проблема но лень. ufasoft выдаёт 0 MHASH.
4.5.3 только по причине того, что на момент сборки это была последняя версия в 5-й ветке. А какая система и как собирали?
|
|
|
|
Zenitur
|
|
May 15, 2011, 05:03:55 AM |
|
Gentoo. На компьютере openSuSE, на ноутбуке Gentoo для оптимизации. Так как я жадина и хочу задействовать ноутбук тоже, решил скомпилировать ufasoft на нём. minerd выдаёт только 980 khash в sse2_64 и 1100 с 4way. То есть даже встроенный в bitcoin перебиратор выдаёт больше. Процессор AMD одно ядро. Update: открыл .bash_history и узнал, что я уже пробовал скомпилировать эту программу в 32-битном варианте. Так я компилировал в 64-битном. CC="gcc-4.5.2" CXX="g++-4.5.2" ./configure Он не видел gcc 4.5, хотя я выполнил на него переключение в специальной гентушной утилите. Так я пытался сделать 32-битную компиляцию: CC="gcc-4.5.2 -m32" CXX="g++-4.5.2 -m32" ./configure И получал: zenitur@athlon64x2 ~/Downloads/ufasoft_bitcoin-miner-0.10.tar/ufasoft_bitcoin-miner-0.10 $ make touch u-config.h g++-4.5.2 -DPACKAGE_NAME=\"ufasoft_bitcoin-miner\" -DPACKAGE_TARNAME=\"ufasoft_bitcoin-miner\" -DPACKAGE_VERSION=\"0.10\" -DPACKAGE_STRING=\"ufasoft_bitcoin-miner\ 0.10\" -DPACKAGE_BUGREPORT=\"support@ufasoft.com\" -DPACKAGE_URL=\"http://ufasoft.com/open/bitcoin\" -DPACKAGE=\"ufasoft_bitcoin-miner\" -DVERSION=\"0.10\" -DHAVE_LIBPCRE=1 -DHAVE_LIBPTHREAD=1 -DHAVE_LIBCURL=1 -DHAVE_LIBDL=1 -DHAVE_LIBRT=1 -I. -std=c++0x -funsigned-char -fno-stack-protector -Wno-invalid-offsetof -I . -I el/inc -m32 -MT bitcoin-miner.o -MD -MP -MF .deps/bitcoin-miner.Tpo -c -o bitcoin-miner.o bitcoin-miner.cpp In file included from /usr/include/curl/curl.h:35:0, from el/inc/../libext/ext-http.h:22, from el/inc/../libext/ext-cpp.h:829, from el/inc/libext.h:1660, from el/inc/ext.h:28, from bitcoin-miner.cpp:19: /usr/include/curl/curlrules.h:143:41: ошибка: размер массива ‘__curl_rule_01__’ отрицательный /usr/include/curl/curlrules.h:153:53: ошибка: размер массива ‘__curl_rule_02__’ отрицательный make: *** [bitcoin-miner.o] Ошибка 1] 32-битный curl лежит там где должен лежать, в /usr/lib32.
|
|
|
|
mrBuG (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
May 15, 2011, 06:33:27 AM |
|
У меня нет нигде генты под рукой Но судя по всему проблема в curl. Если получится собрать - так же можно сделать man
|
|
|
|
adv
|
|
May 15, 2011, 11:42:53 AM |
|
кАшмАр какой... Интересно, реально ли в дебиан-подобных системах сделать по-человечески, как в openSuSE, чтобы 64- и 32-битные среды работали одновременно и не мешали друг другу?
В дебиан-подобных системах все и сделано по-человечески. А в данном посте какие-то бредовые кошмары шлаквариста/гентушника описаны, но почему-то в дебиановском окружении.
|
U may thank me here: 14Js1ng1SvYBPgUJnjNAEPYH4d6SHF79UF
|
|
|
m0Ray
|
|
May 15, 2011, 12:05:12 PM |
|
кАшмАр какой... Интересно, реально ли в дебиан-подобных системах сделать по-человечески, как в openSuSE, чтобы 64- и 32-битные среды работали одновременно и не мешали друг другу?
В дебиан-подобных системах все и сделано по-человечески. Да ладно? Ни разу не видел, чтобы обе среды "из коробки" работали одновременно, причём с бинарной совместимостью где-то, кроме openSuSE. Можно ссылочку, как это в дебианоподобных делается? То ли я гуглю неправильно, то ли вообще руки под дебиан не заточены...
|
|
|
|
adv
|
|
May 15, 2011, 12:46:50 PM |
|
кАшмАр какой... Интересно, реально ли в дебиан-подобных системах сделать по-человечески, как в openSuSE, чтобы 64- и 32-битные среды работали одновременно и не мешали друг другу?
В дебиан-подобных системах все и сделано по-человечески. Да ладно? Ни разу не видел, чтобы обе среды "из коробки" работали одновременно, причём с бинарной совместимостью где-то, кроме openSuSE. Можно ссылочку, как это в дебианоподобных делается? То ли я гуглю неправильно, то ли вообще руки под дебиан не заточены... Тупо еще один каталог с 32 библиотеками. Ядро д.б. 64-битным, да. Или можно просто использовать полностью 32-битный юзерленд с 64-битным ядром: такое применяют на серверах с большим кол-вом памяти, например. http://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html#id292233Общее описание по-русски: http://www.debian.org/ports/amd64/index.ru.htmlЯдро поддерживает запуск 32-битных двоичных файлов, основные библиотеки для них содержатся в пакете ia32-libs. ...... Минимальная поддержка AMD64 на i386 Официальный дистрибутив i386 также содержит минимальную поддержку AMD64, заключающуюся в 64-битном ядре, наборе компиляторов, способных создавать 64-битные двоичные файлы, и пакете amd64-libs для запуска сторонних двоичных файлов для amd64 с собственными общими библиотеками. В случае аффтара хватило бы http://wiki.debian.org/DebianAMD64Faq(Раз уж он ниасилил дебуилд и осмеливается в интернетах рекомендовать использовать "make install" на дебиан-системе. За такое, ИМХО, убивать нужно, ну или как минимум кастрировать.)
|
U may thank me here: 14Js1ng1SvYBPgUJnjNAEPYH4d6SHF79UF
|
|
|
Zenitur
|
|
July 13, 2011, 10:25:15 PM |
|
Здесь же столько линуксоидов! Подскажите! Вот скомпилировал я неофициальный 32-битный бинарник. И теперь я хочу, чтобы он везде работал. zenitur@athlon64x2 ~/Downloads/ufa/ufasoft_bitcoin-miner-0.10 $ ldd bitcoin-miner linux-gate.so.1 => (0xffffe000) librt.so.1 => /lib32/librt.so.1 (0xf76c5000) libdl.so.2 => /lib32/libdl.so.2 (0xf76c1000) libcurl.so.4 => /usr/lib32/libcurl.so.4 (0xf7673000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf765a000) libpcre.so.0 => /lib32/libpcre.so.0 (0xf7625000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/32/libstdc++.so.6 (0xf752f000) libm.so.6 => /lib32/libm.so.6 (0xf7509000) libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0xf74ed000) libc.so.6 => /lib32/libc.so.6 (0xf7392000) /lib/ld-linux.so.2 (0xf770d000) libldap-2.4.so.2 => /usr/lib32/libldap-2.4.so.2 (0xf7354000) libgssapi_krb5.so.2 => /usr/lib32/libgssapi_krb5.so.2 (0xf7325000) libkrb5.so.3 => /usr/lib32/libkrb5.so.3 (0xf7275000) libk5crypto.so.3 => /usr/lib32/libk5crypto.so.3 (0xf7252000) libcom_err.so.2 => /lib32/libcom_err.so.2 (0xf724e000) libkeyutils.so.1 => /lib32/libkeyutils.so.1 (0xf7249000) libresolv.so.2 => /lib32/libresolv.so.2 (0xf7235000) libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf71e4000) libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf70a5000) libz.so.1 => /lib32/libz.so.1 (0xf7092000) liblber-2.4.so.2 => /usr/lib32/liblber-2.4.so.2 (0xf7084000) libkrb5support.so.0 => /usr/lib32/libkrb5support.so.0 (0xf707c000) zenitur@athlon64x2 ~/Downloads/ufa/ufasoft_bitcoin-miner-0.10 $ Во-первых, у программы получилось куча зависимостей, тогда как заявлены только libcurl и libpcre. Во-вторых, программа ни за что не запустится с glibc например 2010 года, а надо чтобы работала везде! Вот пример программы, которая запустится везде: zenitur@athlon64x2 /usr/games/braid $ ldd braid linux-vdso.so.1 => (0x00007fff81384000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f82639b8000) libCg.so => /usr/games/braid/libCg.so (0x00007f8262c3c000) libCgGL.so => /usr/games/braid/libCgGL.so (0x00007f8263c40000) libGL.so.1 => //usr/lib64/opengl/nvidia/lib/libGL.so.1 (0x00007f826292c000) libSDL-1.2.so.0 => /usr/games/braid/libSDL-1.2.so.0 (0x00007f8262691000) libstdc++.so.6 => /usr/games/braid/libstdc++.so.6 (0x00007f8262386000) libm.so.6 => /lib/libm.so.6 (0x00007f8262105000) libgcc_s.so.1 => /usr/games/braid/libgcc_s.so.1 (0x00007f8261ef7000) libc.so.6 => /lib/libc.so.6 (0x00007f8261b91000) /lib64/ld-linux-x86-64.so.2 (0x00007f8263bd5000) libnvidia-tls.so.275.09.07 => //usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.275.09.07 (0x00007f826198f000) libnvidia-glcore.so.275.09.07 => /usr/lib/libnvidia-glcore.so.275.09.07 (0x00007f825fb69000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f825f81d000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f825f607000) librt.so.1 => /lib/librt.so.1 (0x00007f825f3fe000) libdl.so.2 => /lib/libdl.so.2 (0x00007f825f1fa000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f825efdc000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f825edd8000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f825ebd1000) zenitur@athlon64x2 /usr/games/braid $ Минимум зависимостей! Иксы, Cg (в каталоге с игрой), OpenGL (есть во всех системах), libc, libm, libgcc, librt, libdl. А у меня?.. В общем, я решил скомпилировать не статически слинкованный файл, а динамически слинкованный, хотя OpenGL и не потребуется и в этом нет надобности. У меня есть дистрибутив 2006 года. Там разумеется старый glibc. Компилирую по этому руководству GCC 4.5 в пользовательский каталог, компилирую программу, и хочу отослать на страницу форума "вот бинарник, который запустится у всех!", но вот проблема: как скомпилировать так, чтобы не было проблем с зависимостями? Чтобы все эти лишние libssl (это я так понимаю надо curl перекомпилировать без поддержки ssl - хотя вдруг пул будет https, не надо тогда, тогда в каталог с программой его), gssapi, ldap, не были в зависимостях.
|
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
July 13, 2011, 10:46:27 PM |
|
Слинкуй статически со всем с чем сможешь.
|
|
|
|
Zenitur
|
|
July 18, 2011, 11:35:34 AM |
|
Автор, ты ошибся в строке configure для GMP! Правильно так: CPPFLAGS=-fexceptions ./configure --enable-cxx . Иначе не компилируется PPL, при этом он сам сообщает, в чёмошибка при компиляции GMP. Исправь.
Увы, моя система с LiveUSB и на компиляцию GCC не хватило свободного места на виртуальном жёстком диске. Жёсткого диска нет.
|
|
|
|
|
Faust
|
|
July 30, 2011, 12:18:51 PM |
|
У меня во время майнинга простаивает 2 ядра на Коре и5-2500. Есть смысл подключать их к работе (не разогнан) или затраты на липиздричество не окупит?
|
|
|
|
|
Flexystar
|
|
August 27, 2011, 01:52:20 PM |
|
Вопрос: А на кой хер ставить ось 64 для майнинга? Чем не устраивает 32?
p.S> Клепаю образ openSuSE для майнинга все из коробки. Машина будет где-то в вторник - вот и проверю что получилось.
|
|
|
|
|