
Компиляция и использование программы sgminer в xubuntu
Программа с открытым исходным кодом sgminer используется для майнинга на видеокартах AMD уже несколько лет. Существуют модифицированные версии sgminer от разных программистов, расширяющие доступный для майнинга набор алгоритмов, а также улучшающие функционал программы.
В данной статье рассматриваются процесс компиляции и использования версии майнера sgminer-fancyIX.
Особенности программы sgminer версии fancyIX
Майнер sgminer-fancyIX является оптимизированной программой для майнинга на видеокартах AMD на алгоритмах ethash, phi2, lyra2Z[z], allium, x25x, lyra2REv2/v3, argon2d, yescrypt, neoscrypt и многих других (поддерживаемые алгоритмы можно посмотреть в папке kernel по названиям файлов *.cl).
Программа является продолжением развития майнера cgminer, созданного программистом Con Kolivas (ckolivas), который, в свою очередь, использовал в качестве основы cpuminer, созданный Jeff Garzik (jgarzik).
sgminer-phi2-branch не имеет комиссии разработчикам и показывает неплохие результаты при майнинге, а для некоторых алгоритмов является уникальным майнером для видеокарт AMD.
Сама программа sgminer-fancyIX и ее исходный код для Windows и Linux доступны на Github в разделе релизов sgminer-phi2-branch.
Как запустить майнинг в программе sgminer?
Для работы майнера в linux может понадобиться установка пакета libcurl3 командой
sudo apt install libjansson libjansson-dev
Для точного указания используемых при майнинге устройств желательно предварительно изучить их конфигурацию командой:
./sgminer -n
Скрипт для запуска майнинга в программе sgminer выглядит так (пример для запуска майнинга на алгоритме neoscrypt-xaya на zergpool на компьютере с процессором Intel):
export GPU_FORCE_64BIT_PTR=0 export GPU_MAX_HEAP_SIZE=100 export GPU_USE_SYNC_OBJECTS=1 export GPU_MAX_ALLOC_PERCENT=100 export GPU_SINGLE_ALLOC_PERCENT=100 ./sgminer -k neoscrypt-xaya -o stratum+tcp://neoscrypt-xaya.eu.mine.zergpool.com:4238 -u wallet -p c=BTC,worker,refcode=81de238596774683dd427a9d57bae6af -s 1 -w 256 -I 17 --api-port порт_мониторинга -d 1,2 --gpu-platform 1 sleep 10
Пример BAT-файл для запуска майнинга на алгоритме neoscrypt-xaya в Windows:
setx GPU_FORCE_64BIT_PTR 1 setx GPU_USE_SYNC_OBJECTS 1 setx GPU_MAX_ALLOC_PERCENT 100 setx GPU_SINGLE_ALLOC_PERCENT 100 setx GPU_MAX_HEAP_SIZE 100 sgminer.exe -k neoscrypt-xaya -o stratum+tcp://neoscrypt-xaya.eu.mine.zergpool.com:4238 -u кошелек -p c=BTC,работник,refcode=81de238596774683dd427a9d57bae6af -s 1 -w 256 -I 17 --device 0 --temp-overheat 60 --temp-target 56 --failover-only --api-port порт --gpu-platform 1 pause
При майнинге на видеокарте AMD Radeon RX462 в программе sgminer-fancyIX версии 0.7.3 на алгоритме neoscrypt-xaya хешрейт составляет 0.2-0.25 mh/s:
Для обеспечения высокого уровня безопасности и надежности лучше самостоятельно компилировать майнер для своего компьютера.
Компиляция программы sgminer в xubuntu
Для самостоятельной компиляции программы sgminer в xubuntu (и других Debian-дистрибутивах) нужно выполнить следующие шаги:
- установить необходимые библиотеки командой
sudo apt install git autoconf automake libtool build-essential libncurses5-dev libcurl4-gnutls-dev
инициализировать депозиторий git (система контроля версий):
git clone https://github.com/fancyIX/sgminer-phi2-branch.git
перейти в каталог с исходниками:
cd sgminer-phi2-branch
инициализировать локальный конфигурационный файл:
git submodule init
проверить и обновить версию sgminer:
git submodule update
сгенерировать make файлы для компилятора:
autoreconf -i
дать указания компилятору GCC относительно парамтеров сборки кода майнера:
CFLAGS="-O2 -Wall -march=native -std=gnu99" ./configure
В результате выполнения этой команды отобразятся параметры будущего майнера:
sgminer 0.7.3-0 ------------------------------------------------------------------------ Configuration Options Summary: Use git version......: yes libcurl(GBT+getwork).: Enabled: -lcurl curses.TUI...........: FOUND: -lncurses OpenCL...............: FOUND. GPU mining support enabled ADL..................: SDK NOT found, GPU monitoring support DISABLED Compilation............: make (or gmake) CPPFLAGS.............: CFLAGS...............: -O2 -Wall -march=native -std=gnu99 LDFLAGS..............: -lpthread LDADD................: -lcurl submodules/jansson/src/.libs/libbosjansson.a -lpthread -lOpenCL -lm -lrt Installation...........: make install (as root if needed, with 'su' or 'sudo') prefix...............: /usr/local
Затем запускают компиляцию майнера командой:
make
Процесс компиляции займет некоторое время (несколько минут):
В конце компиляции появится сообщение:
make[2]: выход из каталога «/home/intel39/Рабочий стол/sgminer-phi2-branch» make[1]: выход из каталога «/home/intel39/Рабочий стол/sgminer-phi2-branch»
Файл скомпилированного sgminer будет находится в папке с исходниками:
Об ошибках, возникающих при запуске sgminer-fancyIX
Если при запуске майнера возникает ошибка:
./sgminer: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory
это свидетельствует о том, что майнер не может получить доступ к библиотеке libncurses.so.6, ответственной за работу с терминалом.
Для установки libncurses выполняют команду:
sudo apt install libncurses5 libncurses5:i386
Система выдает сообщение о
Уже установлен пакет libncurses5:i386 самой новой версии (6.1-1ubuntu1.18.04).
Местонахождение файла libncurses можно узнать командой
locate libncurses
Файлы libncurses 64-й разрядности находятся в папке /lib/x86_64-linux-gnu/
Как видно из скриншотов, в xubuntu 18.04 в этой папке имеется только версия libncurses.so.5.9.
Это обозначает, что программа sgminer скомпилирована для версии операционной системы, в которой используется более новая версия библиотеки libncurses, ответствующая в работающей операционной системе. Дистрибутивы ubuntu и Arch Linux поддерживают именно ibncurses.so.5.9, поэтому в них иногда возникает такая ошибка.
Для устранения ошибки можно установить более новую систему, перекомпилировать майнер под использующуюся OS, принудительно установить поддержку libncurses.so.6 или обманывать программы, требущие этот файл символьной ссылкой на устанволенную библиотеку версии 5.9.
Создание символьной ссылки на файл libncurses.so.5.9 при вызове libncurses.so.6 делается командой (нужно внимательно проверить путь к файлам libncurses командой locate libncurses):
sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.5.9 /lib/x86_64-linux-gnu/libncurses.so.6
Удаление символической ссылки при необходимости можно сделать командой rm с ее именем.
Для файла libncursesw.so.6 ссылка создается аналогично:
sudo ln -s /lib/x86_64-linux-gnu/libncursesw.so.5.9 /lib/x86_64-linux-gnu/libncursesw.so.6
Если появляется ошибка
ln: не удалось создать символьную ссылку '/.../libncurses.so.6': Файл существует
создание символьной ссылки нужно делать с ключом -f командой
sudo ln -s -f /lib/x86_64-linux-gnu/libncurses.so.5.9 /lib/x86_64-linux-gnu/libncurses.so.6
После проведения такой манипуляции майнер должен успешно запускаться.
Если ошибки остаются, нужно ждать появления новой, исправленной версии программы.


Один комментарий
Павел
Спасибо, за то что Вы делаете. Всегда интересно почитать Ваши статьи.