nicehash / nheqminer

Equihash miner for NiceHash
https://www.nicehash.com
MIT License
768 stars 583 forks source link

How to use nheqminer in RedHat based systems (CentOS/Fedora) #174

Open ramonhugo opened 7 years ago

ramonhugo commented 7 years ago

This is actually a how to, please add to your project. This is to solve a problem with the boost_log in some systems, and actually to solve to any system with problems with boost libraries.

You must download: http://downloads.sourceforge.net/project/boost/boost/1.62.0/boost_1_62_0.tar.gz

And then place it somewhere that makes sense, like /opt, and run:

I do particularly recommend to use a symbolic link, to avoid future problems with library actualization, so use something like: /opt/boost

And then run the comands:

Run using:

Change the -t parameter (4) to your number of CPU cores.

antonica1 commented 7 years ago

you need to use the boost_1_56 version.

ramonhugo commented 7 years ago

I'm actually describing what I've done, and it's working. There's some reason to use the version 1.56 instead of 1.62?

antonica1 commented 7 years ago

can you compile all the project?

ramonhugo commented 7 years ago

Sure, everything seems to be working fine. Just need to add the two lines in the CMakeLists.txt in the directory you want to compile.

antonica1 commented 7 years ago

i have this error:

cc1plus: error: no se reconoce la opción de línea de comando "-std=c++11"

ramonhugo commented 7 years ago

That command is on the package libcxx. Probably yum install libcxx solves that for you.

On Fedora that package is on the updates repository, not sure about CentOS in your version.

I've just confirmed on my server, that uses CentOS 7 x64. You probably just need to install it with yum.

antonica1 commented 7 years ago

error solved, thank you a lot,

butt. now

error: ‘cuda_tromp_75’ was not declared in this scope /root/nheqminer/nheqminer/libstratum/ZcashStratum.h:147:53: error: template argument 2 is invalid

ramonhugo commented 7 years ago

Well, I just have an old notebook with an Intel HD 4400 video card here, and I'm trying to solve how to use the Intel OpenCL SDK.

I've never tried to compile the CUDA version - since I actually have no way to do that.

I'm not a developer of the project, I've just discovered it like 4 days ago. You may need help from someone else.

ramonhugo commented 7 years ago

What command are you running? I had this kind of problem when trying to use a video card not identified.

juanjgit commented 7 years ago

It compiles but no sols/s:

[18:18:40][0x00007fae654d5700] stratum | Target set to 01e1e1e1e0000000000000000000000000000000000000000000000000000000 [18:18:40][0x00007fae654d5700] stratum | Received new job #0000003871e8df3d [18:18:40][0x00007fae679fb780] Speed [300 sec]: 0 I/s, 0 Sols/s [18:18:51][0x00007fae679fb780] Speed [300 sec]: 0 I/s, 0 Sols/s [18:19:01][0x00007fae679fb780] Speed [300 sec]: 0 I/s, 0 Sols/s

This is for CPU mining

ramonhugo commented 7 years ago
  1. Have you compiled the boost with no problems?
  2. Have you set the correct path to boost in the cmake -DBOOST_ROOT and -DBOOST_LIBRARYDIR parameters at the nheqminer_cpu_xenoncat directory?
  3. Are you running a command like: nheqminer/Linux_cmake/nheqminer_cpu/./nheqminer_cpu -t 4 -l pool:port -u user.worker -p pass ?
  4. And specially, are you sure that there are not already previously compiled components being used? I had this problem before, so I suggest re-cloning the project.
juanjgit commented 7 years ago

Recompiled boost 1.62 and same problem: 0 sol/s.

This is what I did:

# ./bootstrap.sh
(...)
# ./b2
(...)
...updated 1143 targets...
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
    /root/boost_1_62_0
The following directory should be added to linker library paths:
    /root/boost_1_62_0/stage/lib
# ln -s /root/boost_1_62_0 /opt/boost
# export BOOST_ROOT=/opt/boost/
# cmake .
-- Boost version: 1.62.0
-- Found the following Boost libraries:
--   system
--   log_setup
--   log
--   date_time
--   filesystem
--   thread
-- Configuring done
-- Generating done
-- Build files have been written to: /root/nheqminer/Linux_cmake/nheqminer_cpu_xenoncat
# make -j $(nproc)
Scanning dependencies of target nheqminer_cpu_xenoncat
[  6%] [ 13%] [ 20%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/amount.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/api.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/arith_uint256.cpp.o
[ 26%] [ 33%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/crypto/sha256.cpp.o
[ 46%] [ 46%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/json/json_spirit_reader.cpp.o
[ 53%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/json/json_spirit_writer.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/json/json_spirit_value.cpp.o
[ 60%] [ 66%] [ 73%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/libstratum/ZcashStratum.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/main.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/primitives/block.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/speed.cpp.o
[ 80%] [ 86%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/uint256.cpp.o
[ 93%] [100%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/utilstrencodings.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/nheqminer/libstratum/StratumClient.cpp.o
Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/root/nheqminer/cpu_xenoncat/xenoncat.cpp.o
Linking CXX executable nheqminer_cpu_xenoncat
[100%] Built target nheqminer_cpu_xenoncat

# ./nheqminer_cpu_xenoncat -u 1xxxxxxxxxxxxxxxxxxxxxxxxxx -p x -t 16 -l equihash.eu.nicehash.com:3357 
(...)
[12:59:13][0x00007f4ee96a1780] Using SSE2: YES
[12:59:13][0x00007f4ee96a1780] Using AVX: NO
[12:59:13][0x00007f4ee96a1780] Using AVX2: NO
[12:59:13][0x00007f4ee6fdf700] stratum | Starting miner
[12:59:13][0x00007f4ee67de700] miner#0 | Starting thread #0 (cpu_tromp_STUB) 
[12:59:13][0x00007f4ee5fdd700] miner#1 | Starting thread #1 (cpu_tromp_STUB) 
[12:59:13][0x00007f4ee57dc700] miner#2 | Starting thread #2 (cpu_tromp_STUB) 
(...)
[12:59:28][0x00007f4ee6fdf700] stratum | Connected!
[12:59:28][0x00007f4ee6fdf700] stratum | Subscribed to stratum server
[12:59:28][0x00007f4ee6fdf700] miner | Extranonce is ca06c6d5a8
[12:59:28][0x00007f4ee6fdf700] stratum | Authorized worker 1xxxxxxxxxxxxxxxxxxxxxxxxxx
[12:59:28][0x00007f4ee6fdf700] stratum | Target set to 001e1e1e1e000000000000000000000000000000000000000000000000000000
[12:59:28][0x00007f4ee6fdf700] stratum | Received new job #00000048ec4cb291
[12:59:33][0x00007f4ee96a1780] Speed [300 sec]: 0 I/s, 0 Sols/s
[12:59:43][0x00007f4ee96a1780] Speed [300 sec]: 0 I/s, 0 Sols/s
[12:59:53][0x00007f4ee96a1780] Speed [300 sec]: 0 I/s, 0 Sols/s
iridiumblue commented 7 years ago

Ramonhugo - I got Intel 4400 running with https://freedesktop.org/wiki/Software/Beignet/ .

Did you work your setup out?

capsx commented 7 years ago

really - "nheqminer/Linux_cmake/nheqminer_cpu/./nheqminer_cpu -t 4 -l pool:port -u user.worker -p pass" ???

[xxx@xxx:/opt/nheqminer/Linux_cmake/nheqminer_cpu]# ls -l total 8.0K -rw-r--r-- 1 xxx xxx 4.9K Apr 3 06:09 CMakeLists.txt

there is no nheqminer_cpu in ./nheqminer/Linux_cmake/nheqminer_cpu/

...

EDIT:

cd ../../../Linux_cmake/nheqminer_cpu cmake . -DBOOST_ROOT=/opt/boost -DBOOST_LIBRARYDIR=/opt/boost/libs make -j $(nproc)

[xxx@server:/opt/nheqminer/Linux_cmake/nheqminer_cpu]# ls -l total 4.7M -rw-r--r-- 1 xxx xxx 17K Apr 3 06:31 CMakeCache.txt drwxr-xr-x 5 xxx xxx 4.0K Apr 3 06:31 CMakeFiles -rw-r--r-- 1 xxx xxx 1.6K Apr 3 06:31 cmake_install.cmake -rw-r--r-- 1 xxx xxx 4.9K Apr 3 06:09 CMakeLists.txt -rw-r--r-- 1 xxx xxx 27K Apr 3 06:31 Makefile -rwxr-xr-x 1 xxx xxx 4.6M Apr 3 06:31 nheqminer_cpu

...

capsx commented 7 years ago

btw what is THAT:

[06:56:19][0x00007fb0af962700] stratum | ZcashMiner::parseJob(): Invalid or unsupported block header version

???

philipperemy commented 7 years ago

@capsx do you still have this problem? It seems to disappear and reappear from time to time.

genesisvh commented 7 years ago

I'm trying to install but I'm getting this error "-std=c++11" I'm running gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) Is there a solution any help will be greatly appreciated.

Thanks

mrgordon commented 7 years ago

Can we update or close this? I wasted several hours following these instructions only to realize the Linuxbranch is so old that it can only do 30 H/s instead of 400+ H/s with the version on master. I did follow the boost instructions and they were helpful but overall this information is out of date

dimaslanjaka commented 6 years ago

64 or 32 bit

m0o0 commented 6 years ago

hello

Red Hat Enterprise Linux Server release 6.5 (Santiago)

why [root@PUnit mohammad]# cd nheqminer/cpu_xenoncat/Linux/asm/

[root@PUnit asm]# sh assemble.sh flat assembler version 1.71.57 (1280000 kilobytes memory) 3 passes, 0.5 seconds, 17322 bytes. flat assembler version 1.71.57 (1280000 kilobytes memory) 3 passes, 0.4 seconds, 17361 bytes.

[root@PUnit asm]# cd ../../../Linux_cmake/nheqminer_cpu_xenoncat

[root@PUnit nheqminer_cpu_xenoncat]# cmake . -DBOOST_ROOT=/opt/boost/boost_1_62_0 -DBOOST_LIBRARYDIR=/opt/boost/boost_1_62_0/libs -- Boost version: 1.62.0 -- Found the following Boost libraries: -- system -- log_setup -- log -- date_time -- filesystem -- thread -- Configuring done -- Generating done -- Build files have been written to: /home/mohammad/nheqminer/Linux_cmake/nheqminer_cpu_xenoncat

[root@PUnit nheqminer_cpu_xenoncat]# make -j $(nproc) Scanning dependencies of target nheqminer_cpu_xenoncat [ 6%] [ 13%] [ 26%] [ 26%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/amount.cpp.o cc1plus: error: unrecognized command line option "-std=c++11" [ 33%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/api.cpp.o

[ 40%] Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/crypto/sha256.cpp.o

Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/arith_uint256.cpp.o [ 46%] make[2]: ** [CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/amount.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... cc1plus: error: unrecognized command line option "-std=c++11"cc1plus: error: unrecognized command line option "-std=c++11"

cc1plus: error: unrecognized command line option "-std=c++11" make[2]: [CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/api.cpp.o] Error 1 make[2]: [CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/arith_uint256.cpp.o] Error 1 make[2]: [CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/crypto/sha256.cpp.o] Error 1 Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/json/json_spirit_value.cpp.o Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/json/json_spirit_reader.cpp.o Building CXX object CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/json/json_spirit_writer.cpp.o cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" make[2]: [CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/json/json_spirit_reader.cpp.o] Error 1 make[2]: [CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/json/json_spirit_value.cpp.o] Error 1 make[2]: [CMakeFiles/nheqminer_cpu_xenoncat.dir/home/mohammad/nheqminer/nheqminer/json/json_spirit_writer.cpp.o] Error 1 make[1]: [CMakeFiles/nheqminer_cpu_xenoncat.dir/all] Error 2 make: [all] Error 2**

nvoa2358 commented 6 years ago

I tried to build boost. It succeed.

The following directory should be added to compiler include paths:

/opt/boost_1_62_0

The following directory should be added to linker library paths:

/opt/boost_1_62_0/stage/lib

I linked it as cmake -DBOOST_ROOT= /opt/boost_1_62_0 -DBOOST_LIBRARYDIR=/opt/boost_1_62_0/libs ../nheqminer/ When I ran make -j $(nproc) I still get those errors

[ 27%] Linking CXX executable nheqminer CMakeFiles/nheqminer.dir/nheqminer/main.cpp.o: In function void boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >::aligned_write<wchar_t>(wchar_t const*, long)': main.cpp:(.text._ZN5boost3log12v2s_mt_posix24basic_formatting_ostreamIcSt11char_traitsIcESaIcEE13aligned_writeIwEEvPKT_l[_ZN5boost3log12v2s_mt_posix24basic_formatting_ostreamIcSt11char_traitsIcESaIcEE13aligned_writeIwEEvPKT_l]+0xc7): undefined reference toboost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const, unsigned long, std::string&, unsigned long, std::locale const&)' main.cpp:(.text._ZN5boost3log12v2s_mt_posix24basic_formatting_ostreamIcSt11char_traitsIcESaIcEE13aligned_writeIwEEvPKT_l[_ZN5boost3log12v2s_mt_posix24basic_formatting_ostreamIcSt11char_traitsIcESaIcEE13aligned_writeIwEEvPKT_l]+0x1eb): undefined reference to `boost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const, unsigned long, std::string&, unsigned long, std::locale const&)' CMakeFiles/nheqminer.dir/nheqminer/main.cpp.o: In function void boost::log::v2s_mt_posix::type_dispatcher::callback_base::trampoline<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> > >&>, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(void*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)': main.cpp:(.text._ZN5boost3log12v2s_mt_posix15type_dispatcher13callback_base10trampolineINS1_9binder1stINS1_10output_funERNS1_11expressions3aux10stream_refINS1_24basic_formatting_ostreamIcSt11char_traitsIcESaIcEEEEEEESbIwSB_IwESaIwEEEEvPvRKT0_[_ZN5boost3log12v2s_mt_posix15type_dispatcher13callback_base10trampolineINS1_9binder1stINS1_10output_funERNS1_11expressions3aux10stream_refINS1_24basic_formatting_ostreamIcSt11char_traitsIcESaIcEEEEEEESbIwSB_IwESaIwEEEEvPvRKT0_]+0xc1): undefined reference toboost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const*, unsigned long, std::string&, unsigned long, std::locale const&)' CMakeFiles/nheqminer.dir/nheqminer/main.cpp.o: In function void boost::log::v2s_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::recursive_mutex, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::log::v2s_mt_posix::record_view const&, boost::recursive_mutex&, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>&)': main.cpp:(.text._ZN5boost3log12v2s_mt_posix5sinks30basic_formatting_sink_frontendIcE11feed_recordINS_15recursive_mutexENS2_26basic_text_ostream_backendIcEEEEvRKNS1_11record_viewERT_RT0_[_ZN5boost3log12v2s_mt_posix5sinks30basic_formatting_sink_frontendIcE11feed_recordINS_15recursive_mutexENS2_26basic_text_ostream_backendIcEEEEvRKNS1_11record_viewERT_RT0_]+0x10b): undefined reference toboost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::consume(boost::log::v2s_mt_posix::record_view const&, std::string const&)' CMakeFiles/nheqminer.dir/nheqminer/main.cpp.o: In function void boost::log::v2s_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::log::v2s_mt_posix::aux::fake_mutex, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::aux::fake_mutex&, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>&)': main.cpp:(.text._ZN5boost3log12v2s_mt_posix5sinks30basic_formatting_sink_frontendIcE11feed_recordINS1_3aux10fake_mutexENS2_26basic_text_ostream_backendIcEEEEvRKNS1_11record_viewERT_RT0_[_ZN5boost3log12v2s_mt_posix5sinks30basic_formatting_sink_frontendIcE11feed_recordINS1_3aux10fake_mutexENS2_26basic_text_ostream_backendIcEEEEvRKNS1_11record_viewERT_RT0_]+0xfb): undefined reference toboost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::consume(boost::log::v2s_mt_posix::record_view const&, std::string const&)' collect2: error: ld returned 1 exit status CMakeFiles/nheqminer.dir/build.make:502: recipe for target 'nheqminer' failed make[2]: [nheqminer] Error 1 CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/nheqminer.dir/all' failed make[1]: [CMakeFiles/nheqminer.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

Do you have any idea what is wrong?

RCAckert commented 6 years ago

I kept getting boost not found in Centos 7 after following ramonhugo instructions. the following worked for me.

cmake -DCMAKE_INSTALL_PREFIX=$TARGET \ -DBoost_NO_BOOST_CMAKE=TRUE \ -DBoost_NO_SYSTEM_PATHS=TRUE \ -DBOOST_ROOT:PATHNAME=$TARGET \ -DBoost_LIBRARY_DIRS:FILEPATH=${TARGET}/lib

brynnneilson commented 6 years ago

Excellent post ramonhugo. Here's how I got it working in Fedora 27:

Install Boost dnf install boost

Download and compile NiceHash

git clone -b Linux https://github.com/nicehash/nheqminer.git
cd nheqminer/cpu_xenoncat/Linux/asm/
sh assemble.sh
cd ../../../Linux_cmake/nheqminer_cpu_xenoncat
cmake . -DBOOST_ROOT=/usr/local/include/boost -DBOOST_LIBRARYDIR=/usr/local/include/boost
make -j $(nproc)
cd ../nheqminer_cpu

Run using CPU with 4 cores (-t 4) ./nheqminer_cpu -l pool:port -u user.worker -p pass -t 4