StelioKontos
Sr. Member
Offline
Activity: 840
Merit: 267
Chad Hodler since 2013
|
|
October 27, 2017, 12:21:57 AM |
|
I'm trying to compile the 3.7.0 on a Centos 6.9 vm on virtualbox to later copy it ont a real machine server running the same Centos 6.9, I don't even know if it makes sense, but I'm doing it to not install extra packages in the real server. After managing to bypass several errors and difficulties such as the #pragma error of gcc 4.4.7 by upgrading gcc (not so obvious), now I'm stuck with these: Does a fix exist for the errors above or alternatively does a precompiled version exist of cpuminer-opt-3.7.0 to run in a Centos 6.9 system with this processor: https://ark.intel.com/it/products/88173/Intel-Xeon-Processor-E3-1245-v5-8M-Cache-3_50-GHz ( SSE4.1/4.2, AVX2 )? Thank you in advance.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 27, 2017, 04:46:17 AM |
|
I'm trying to compile the 3.7.0 on a Centos 6.9 vm on virtualbox to later copy it ont a real machine server running the same Centos 6.9, I don't even know if it makes sense, but I'm doing it to not install extra packages in the real server. After managing to bypass several errors and difficulties such as the #pragma error of gcc 4.4.7 by upgrading gcc (not so obvious), now I'm stuck with these: Does a fix exist for the errors above or alternatively does a precompiled version exist of cpuminer-opt-3.7.0 to run in a Centos 6.9 system with this processor: https://ark.intel.com/it/products/88173/Intel-Xeon-Processor-E3-1245-v5-8M-Cache-3_50-GHz ( SSE4.1/4.2, AVX2 )? Thank you in advance. Those real servers would need most of the same packages, it's probably not worth it. As for your compile error the first error is always the most important. From what you posted it looks like the Intel intrinsics aren't insrtalled. You may find earlier errors for missing immintrin.h or files with similar names. I don't know if they exist for Centos 6, it's very old, or what the package might be called.
|
|
|
|
StelioKontos
Sr. Member
Offline
Activity: 840
Merit: 267
Chad Hodler since 2013
|
|
October 27, 2017, 07:19:14 AM |
|
Those real servers would need most of the same packages, it's probably not worth it.
As for your compile error the first error is always the most important. From what you posted it looks like the Intel intrinsics aren't insrtalled. You may find earlier errors for missing immintrin.h or files with similar names. I don't know if they exist for Centos 6, it's very old, or what the package might be called. Thanks for reply. Since I've root access on those dedicated machines I could install the packages but I preferrerd not, let's see. Too bad Centos was installed instead of Ubuntu.
|
|
|
|
felixbrucker
|
|
October 27, 2017, 10:29:40 AM |
|
Those real servers would need most of the same packages, it's probably not worth it.
As for your compile error the first error is always the most important. From what you posted it looks like the Intel intrinsics aren't insrtalled. You may find earlier errors for missing immintrin.h or files with similar names. I don't know if they exist for Centos 6, it's very old, or what the package might be called. Thanks for reply. Since I've root access on those dedicated machines I could install the packages but I preferrerd not, let's see. Too bad Centos was installed instead of Ubuntu. You could run everything inside docker, if you are comfortable with that
|
|
|
|
4ward
Member
Offline
Activity: 473
Merit: 18
|
|
October 27, 2017, 10:56:49 AM |
|
It's controlled by configure.ac at line 111: # GC2 for GNU static if test "x$OS" = "xWindows_NT" ; then # MinGW AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS="-lpthreadGC2",[]) else AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS="-lpthread",[]) fi
It works as intended in the old MSYS environment but on cygwin linking fails because it can't find pthreadGC2. I can't get cygwin to use the mingw toolchain which includes pthreadGC2. I've tried using --host and --build with no luck. yup, after linking with pthreadGC2 it works fine. and it looks like it brings a very slight improve in performance (about 1% or so in a few algos that i benchmarked) compiling sha version also works, too bad i don't have hardware to test it
|
|
|
|
StelioKontos
Sr. Member
Offline
Activity: 840
Merit: 267
Chad Hodler since 2013
|
|
October 27, 2017, 11:58:13 AM |
|
You could run everything inside docker, if you are comfortable with that First time I heard of it, this could give an hint on how comfy I'm with it Is is a vm manager like virtualbox or some kinda vps? Fact is I'm already paying - well, my boss is - for some dedicated servers with much power not to use and I'd loved to use them before going to spend other money around. (sorry to the op because of this offtopic)
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 27, 2017, 04:39:04 PM Last edit: October 27, 2017, 05:46:51 PM by joblo |
|
yup, after linking with pthreadGC2 it works fine. and it looks like it brings a very slight improve in performance (about 1% or so in a few algos that i benchmarked) compiling sha version also works, too bad i don't have hardware to test it
Good to read you got it working but too bad no significant improvement. At my end I got it working using http://www.msys2.org/ but again no significant performance difference. Msys2 is pretty clumsy to setup, nice installer but it only installs a minimal base system. Then you use a clumsy package manager to install everything else. gcc 6.3 7.2 and openssl 1.0.2l are available. Compiling with SHA works but I couldn't verify due to lack of SHA CPU. It works fine from within Msys2 shell, getting it to work from a DOS shell required copying all the DLLs included in Mingw, over 40 of them. I don't like bundling DLLs, just delivering a Windows binary is scary enough. I was hoping there was a way to download just the DLLs from Msys2 but they are all hidden in individual package files. It seems the only way to get them is to install Msys2 and all the packages that provide the DLLs.
|
|
|
|
felixbrucker
|
|
October 27, 2017, 08:26:45 PM |
|
You could run everything inside docker, if you are comfortable with that First time I heard of it, this could give an hint on how comfy I'm with it Is is a vm manager like virtualbox or some kinda vps? Fact is I'm already paying - well, my boss is - for some dedicated servers with much power not to use and I'd loved to use them before going to spend other money around. (sorry to the op because of this offtopic) here is a good starting point on what docker is: https://opensource.com/resources/what-docker
|
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 29, 2017, 01:28:13 AM |
|
Not until there's a stratum pool where I can test. It looks like the same hash function with different parameters.
|
|
|
|
dunedainbob
|
|
October 29, 2017, 02:12:00 AM |
|
Not until there's a stratum pool where I can test. It looks like the same hash function with different parameters. Is http://www.ypool.co a stratum pool? Could you use that? The pool operator apparently thought it was regular yescrypt so he set it up that way, but he's obviously not finding any blocks because no one is actually sending him yescryptR16 solutions. Can you use his mistake to test, or does it not work that way? BTW I don't mean to be pushy, if you can't be bothered (edit: or if it won't work) it's fine, I just thought I'd let you know in case you wanted to.
|
|
|
|
StelioKontos
Sr. Member
Offline
Activity: 840
Merit: 267
Chad Hodler since 2013
|
|
October 29, 2017, 01:39:06 PM |
|
I'm trying to compile the 3.7.0 on a Centos 6.9 vm on virtualbox to later copy it ont a real machine server running the same Centos 6.9, I don't even know if it makes sense, but I'm doing it to not install extra packages in the real server. After managing to bypass several errors and difficulties such as the #pragma error of gcc 4.4.7 by upgrading gcc (not so obvious), now I'm stuck with these: Does a fix exist for the errors above or alternatively does a precompiled version exist of cpuminer-opt-3.7.0 to run in a Centos 6.9 system with this processor: https://ark.intel.com/it/products/88173/Intel-Xeon-Processor-E3-1245-v5-8M-Cache-3_50-GHz ( SSE4.1/4.2, AVX2 )? Thank you in advance. Those real servers would need most of the same packages, it's probably not worth it. As for your compile error the first error is always the most important. From what you posted it looks like the Intel intrinsics aren't insrtalled. You may find earlier errors for missing immintrin.h or files with similar names. I don't know if they exist for Centos 6, it's very old, or what the package might be called. I'm slowly trying to come to an end at this Followed your advice, did a make -B > makelog.txt. First lines to popup on screen (they weren't redirected to makelog.txt, strange), were about 10 of this: configure: WARNING: The assembler does not support the AVX2 instruction set.It seems for that I need gcc 4.7 at least, I'm running gcc 4.4.7, I'll try to update this as first thing.
|
|
|
|
StelioKontos
Sr. Member
Offline
Activity: 840
Merit: 267
Chad Hodler since 2013
|
|
October 29, 2017, 01:40:08 PM |
|
You could run everything inside docker, if you are comfortable with that First time I heard of it, this could give an hint on how comfy I'm with it Is is a vm manager like virtualbox or some kinda vps? Fact is I'm already paying - well, my boss is - for some dedicated servers with much power not to use and I'd loved to use them before going to spend other money around. (sorry to the op because of this offtopic) here is a good starting point on what docker is: https://opensource.com/resources/what-dockerThank you, I'll surely need that once I manage to compile the miner.
|
|
|
|
StelioKontos
Sr. Member
Offline
Activity: 840
Merit: 267
Chad Hodler since 2013
|
|
October 29, 2017, 02:27:57 PM Last edit: October 29, 2017, 03:52:51 PM by StelioKontos |
|
configure: WARNING: The assembler does not support the AVX2 instruction set.
It seems for that I need gcc 4.7 at least, I'm running gcc 4.4.7, I'll try to update this as first thing. Sorry if I flood the thread, but it may be useful information to others, too. Managed to update to gcc 4.9 ( thanks to this guy's comment), with: (reminder: I'm on Centos6.9) sudo yum install centos-release-scl sudo yum install devtoolset-3-toolchain scl enable devtoolset-3 bash Relaunched make, got these lines on screen (still out of redirected txt, duh): warning: implicit declaration of function ‘syslog’ [-Wimplicit-function-declaration]Then many other lines started to popout, ending with these, that may be related to Intel intrinsics already mentioned before: Now I try to fix all these, if you have any clues to spare, thank you in advance. Found this for _mm_shuffle_epi8 of the last screenshot : https://msdn.microsoft.com/en-us/library/bb531427(v=vs.120).aspxThe full makelog2.txt: https://pastebin.com/yr6dexwL--- after digging here and there, it looks like a matter of upgrading GCC to the greater version available, from my current 4.9 to 6.x or 7.x even.
|
|
|
|
StelioKontos
Sr. Member
Offline
Activity: 840
Merit: 267
Chad Hodler since 2013
|
|
October 29, 2017, 05:48:07 PM |
|
Another update, sorry for the spam. Managed to install devtoolset-6 (GCC 6.3.1), it was quite straightforward: sudo yum install centos-release-scl sudo yum install devtoolset-6 scl enable devtoolset-6 bash The errors are always there, but at least they more detailed. They are all very similar, I'll paste just one: In file included from algo/echo/aes_ni/vperm.h:20:0, from algo/echo/aes_ni/hash:21: /opt/rh/devtoolset-6/root/usr/lib/gcc/x86_64-redhat-linux/6.3.1/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8' : target specific option mismatch _mm_shuffle_epi8 (__m128i __X, __m128i __Y) ^~~~~~~~~~~~~~~~ Searching in and here found just this similar question: https://stackoverflow.com/questions/43128698/inlining-failed-in-call-to-always-inline-mm-mullo-epi32-target-specific-opti but not much idea how to proceed.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 29, 2017, 06:19:35 PM |
|
Another update, sorry for the spam. Managed to install devtoolset-6 (GCC 6.3.1), it was quite straightforward: sudo yum install centos-release-scl sudo yum install devtoolset-6 scl enable devtoolset-6 bash The errors are always there, but at least they more detailed. They are all very similar, I'll paste just one: In file included from algo/echo/aes_ni/vperm.h:20:0, from algo/echo/aes_ni/hash:21: /opt/rh/devtoolset-6/root/usr/lib/gcc/x86_64-redhat-linux/6.3.1/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8' : target specific option mismatch _mm_shuffle_epi8 (__m128i __X, __m128i __Y) ^~~~~~~~~~~~~~~~ Searching in and here found just this similar question: https://stackoverflow.com/questions/43128698/inlining-failed-in-call-to-always-inline-mm-mullo-epi32-target-specific-opti but not much idea how to proceed. You're trying to compile for a CPU archietcture simulated by Virtualbox. Even if the compile was successful it wouldn't work properly on real hardware. I do not support attempts to cross compile on Linux. You're on your own.
|
|
|
|
|
FlowLive
Newbie
Offline
Activity: 63
Merit: 0
|
|
October 31, 2017, 04:55:23 PM |
|
Do you mean to say that SHA is now enabled in binaries? Or only for yescrypt and yescriptr16 or that it still needs to be compiled regardless? Also I am trying to mine Yenten but keep getting [2017-10-31 12:54:42] stratum_recv_line failed [2017-10-31 12:54:42] ...retry after 10 seconds
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 31, 2017, 05:11:22 PM |
|
Do you mean to say that SHA is now enabled in binaries? Or only for yescrypt and yescriptr16 or that it still needs to be compiled regardless? Also I am trying to mine Yenten but keep getting [2017-10-31 12:54:42] stratum_recv_line failed [2017-10-31 12:54:42] ...retry after 10 seconds There is no SHA support in any binaries for any algos. The only way to get it is to compile yourself with a supported CPU, compiler, openssl, and algo. I'm not aware of any working pools but the error you see suggests a connection was made and then failed. Need more info including command line (minus sensitive data) and miner output. If there is a working pool I can do some testing myself. I see you also posted connection problems in the Yenten thread. That is likely the cause of your stratum errors, assuming you are trying to connect to an external address, ie a pool. Stratum is the default if you don't specify the protocol in the url. If you're mining the wallet you must specify -o http://<ipaddr>:<port> Also don't use -a yescrypt for yenten, that's the old yescrypt but was used as a quick and dirty hack in yenten-minerd.
|
|
|
|
FlowLive
Newbie
Offline
Activity: 63
Merit: 0
|
|
October 31, 2017, 05:16:40 PM |
|
Yes I use yescryptr16 and it's solo mining.
The only way I succeeded was but connecting a vpn... weird...
So now I can mine using the built-in miner or using minerd, I'm getting around 1100h/s but wanted to see the difference with yours as I always get better results with it!
|
|
|
|
|