joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 21, 2017, 08:16:11 PM |
|
i have no more idea , except switching GCC or to install 14.04 step back grrrrr
So what happened with -fno-stack-protector?
|
|
|
|
felixbrucker
|
|
February 22, 2017, 07:51:20 AM |
|
i have no more idea , except switching GCC or to install 14.04 step back grrrrr
im not sure if it helps, but i have two laptops running ubuntu 16.10 (not sure about gcc version, seems to be 5.X or newer from what i remember) and it works fine with default build.sh edit: woops we are talking about hmq1725, nevermind, never used that algo
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 22, 2017, 03:05:17 PM Last edit: February 22, 2017, 04:01:46 PM by joblo |
|
i have no more idea , except switching GCC or to install 14.04 step back grrrrr
im not sure if it helps, but i have two laptops running ubuntu 16.10 (not sure about gcc version, seems to be 5.X or newer from what i remember) and it works fine with default build.sh edit: woops we are talking about hmq1725, nevermind, never used that algo It would still be a valid test as it would provide another datapoint. Are these Intel or AMD, another datapoint maybe? You can use the following if no wallet/address. ./cpuminer -a hmq1725 -o stratum+tcp://yiimp.ccminer.org:3535 -u benchmark -p stats As soon as you see a hash report you can kill it because it got past the stack smashing detector. If you get stack smashing detected crash then try compiling with -fno-stack-protector to see if that prevents the crash or alters the crash. I was hoping integrale would do it, but I think he's given up. If you keep testing for me I might have to start paying you. Edit: meanwhile I found a suspicious line of code with apparently ambiguous operator precedence: msg[0] = _mm_load_si128 ( (__m128i*)&state->buffer[4] ); State is a struct, buffer is uint32[] It looks to me like the index is 4 * (sizeof __m128i) when it should be 4 * (sizeof uint32_t) or 1 x (sizeof __m128i)
As this is accessing data on the stack it could cause a stack violation if it's wrong. I'm just not sure where the cast applies: (spacing exagerated for emphasis)
( (__m128i*) &state ) ->buffer[4] // should fail to compile ( (__m128i*) &state->buffer ) [4] // Wrong index, should be 1 ( (__m128i*) &state->buffer[4] ) // result is data not a ptr
The only one that seems to fit the logic is the second one, but if so the index is wrong.
Edit: I missread the code. The following works which confirms precedence was correct: (__m128i*)( &state->buffer )[4] ) I will probabaly change it as this is the only place in the function where a uint32 offset is used. Everything else is __m128i.
|
|
|
|
integrale
Full Member
Offline
Activity: 144
Merit: 100
Eager to learn
|
|
February 22, 2017, 03:15:22 PM |
|
im sorry , for my late response , i havent give up but in that case i played around with changing gcc and killed them totally so no chance to bring them back to live or install any other either a newer on grrr i must install the whole system from ground up , this happens to me make me considering to step backward to 14.04 LTS and now on gcc 4.8.4 and Mner Version 3.5.8 it works. again im sorry that im not been able to help out with some more info about that Stacksmashing case
|
AltCoin-Mining @ Xubuntu 16.04 LTS
|
|
|
integrale
Full Member
Offline
Activity: 144
Merit: 100
Eager to learn
|
|
February 22, 2017, 03:17:26 PM |
|
thats a good joke paying me , btw. my poor knowledge of mining-software is under the GPL license ergo FREE loool im happy you deliver us like allways good working and powerfull miner-software
no problem if i can spend time , other machines runnig on newer OS and GCC
|
AltCoin-Mining @ Xubuntu 16.04 LTS
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 22, 2017, 03:25:20 PM |
|
thats a good joke paying me , btw. my poor knowledge of mining-software is under the GPL license ergo FREE loool im happy you deliver us like allways good working and powerfull miner-software
no problem if i can spend time , other machines runnig on newer OS and GCC
I meant Felix, if he's testing your problem. I assume there is already enough incentive to test your own problems.
|
|
|
|
integrale
Full Member
Offline
Activity: 144
Merit: 100
Eager to learn
|
|
February 22, 2017, 06:04:18 PM |
|
sklave@miner3-HP-500B:~/joblo350$ ./cpuminer -a yescrypt -t 2 -o stratum+tcp://mine.zpool.ca:6233 -u 1Cjq5f4ASXL5CpURWThYeNbtyB4ph98ex8 -p x,c=BTC,stats
********** cpuminer-opt 3.5.0 *********** A CPU miner with multi algo support and optimized for CPUs with AES_NI and AVX extensions. BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT Forked from TPruvot's cpuminer-multi with credits to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d, Wolf0, Jeff Garzik and Optiminer.
CPU: AMD Athlon(tm) II X2 240 Processor CPU features: SSE2 SW built on Feb 22 2017 with GCC 5.4.0 SW features: SSE2 Algo features: SSE2 Start mining with SSE2
[2017-02-22 18:53:52] Starting Stratum on stratum+tcp://mine.zpool.ca:6233 [2017-02-22 18:53:52] 2 miner threads started, using 'yescrypt' algorithm. [2017-02-22 18:53:58] Stratum difficulty set to 1 (0.00002) [2017-02-22 18:53:58] yescrypt block 122725, diff 0.036 Unvalid Machineinstruction (Speicherabzug geschrieben)
compiled with -fno-stack-protector (Linux 16.04 LTS GCC5.4.0 Cpuminer-opt 3.5.0 AMD athlon II x240
tested with Algo M7M , Cryptonight works
|
AltCoin-Mining @ Xubuntu 16.04 LTS
|
|
|
felixbrucker
|
|
February 22, 2017, 07:05:31 PM |
|
i have no more idea , except switching GCC or to install 14.04 step back grrrrr
im not sure if it helps, but i have two laptops running ubuntu 16.10 (not sure about gcc version, seems to be 5.X or newer from what i remember) and it works fine with default build.sh edit: woops we are talking about hmq1725, nevermind, never used that algo It would still be a valid test as it would provide another datapoint. Are these Intel or AMD, another datapoint maybe? You can use the following if no wallet/address. ./cpuminer -a hmq1725 -o stratum+tcp://yiimp.ccminer.org:3535 -u benchmark -p stats As soon as you see a hash report you can kill it because it got past the stack smashing detector. If you get stack smashing detected crash then try compiling with -fno-stack-protector to see if that prevents the crash or alters the crash. I was hoping integrale would do it, but I think he's given up. If you keep testing for me I might have to start paying you. Edit: meanwhile I found a suspicious line of code with apparently ambiguous operator precedence: msg[0] = _mm_load_si128 ( (__m128i*)&state->buffer[4] ); State is a struct, buffer is uint32[] It looks to me like the index is 4 * (sizeof __m128i) when it should be 4 * (sizeof uint32_t) or 1 x (sizeof __m128i)
As this is accessing data on the stack it could cause a stack violation if it's wrong. I'm just not sure where the cast applies: (spacing exagerated for emphasis)
( (__m128i*) &state ) ->buffer[4] // should fail to compile ( (__m128i*) &state->buffer ) [4] // Wrong index, should be 1 ( (__m128i*) &state->buffer[4] ) // result is data not a ptr
The only one that seems to fit the logic is the second one, but if so the index is wrong.
Edit: I missread the code. The following works which confirms precedence was correct: (__m128i*)( &state->buffer )[4] ) I will probabaly change it as this is the only place in the function where a uint32 offset is used. Everything else is __m128i. haha on my xeon it crashes as well (3.5.7 is also affected, dont have any older versions here): ./cpuminer -a hmq1725 -o stratum+tcp://yiimp.ccminer.org:3535 -u benchmark -p stats
********** cpuminer-opt 3.5.7 *********** A CPU miner with multi algo support and optimized for CPUs with AES_NI and AVX extensions. BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT Forked from TPruvot's cpuminer-multi with credits to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d, Wolf0, Jeff Garzik and Optiminer.
CPU: Intel(R) Xeon(R) CPU E3-1265L V2 @ 2.50GHz CPU features: SSE2 AES AVX SW built on Feb 14 2017 with GCC 5.4.0 SW features: SSE2 AES AVX Algo features: SSE2 AES AVX AVX2 Start mining with SSE2 AES AVX
[2017-02-22 19:39:14] Starting Stratum on stratum+tcp://yiimp.ccminer.org:3535 [2017-02-22 19:39:14] 8 miner threads started, using 'hmq1725' algorithm. [2017-02-22 19:39:21] Stratum difficulty set to 0.024 (0.00000) [2017-02-22 19:39:21] hmq1725 block 627861, diff 2.101 *** stack smashing detected ***: ./cpuminer terminated Aborted
i have then compiled the latest version with the fno option you mentioned and it didnt crash, though it outputted quite some text with -D supplied i have uploaded the output files here: http://pastebin.com/UevnP84w (with debug enabled, not compiled with fno option) http://pastebin.com/end94mZb (with debug enabled, compiled with fno option, cut (original file from 8 sec run was 90mb)) http://pastebin.com/YtQwAaNT (without debug, compiled with fno option)
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 22, 2017, 07:33:08 PM |
|
Thanks both of you. The problem is confirmed to be real and not a false positive. Stack oveflow is still my only real lead, we'll see if reducing the stack usage for hmq1725 helps.
Finishing deep algo first.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 22, 2017, 08:06:37 PM Last edit: February 22, 2017, 09:58:53 PM by joblo |
|
While working on deep I solved why midstate precalc didn't work for luffa. This will help deep a lot, because of the short chain, qubit less, and timetravel even less.
Edit: I've just rewritten SSE2 Luffa to avoid flipping back and forth from vector operations to scalar operations. Now that the code is clean it looks like it could be promoted to AVX2, although there are some bits that will be challenging. But that will have to wait for a future release.
For now Luffa stays at SSE2 but adds support for midstate precalc in Timetravel, Qubit, and Deep. Just testing now, don't how long that will take, have to wait for the right Timetravel permutation.
If the stack smashing in hmq1725 is not solved in the next release by reducing stack usage, I will have higher confidence the problem is not in Luffa code.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 23, 2017, 04:16:12 AM Last edit: February 23, 2017, 05:02:20 AM by joblo |
|
Edit: All links updated to 3.5.9. cpuminer-opt v3.5.9 is available on git. Google drive is currently down. tarball and windows binaries links stil point to v3.5.8. This post and the OP will be updated when download links are updated.https://github.com/JayDDee/cpuminer-optReduced stack usage for hmq1725 and small speedup. Added Deep algo optimized for AES and AVX2 Rewrite of SSE2 Luffa, midstate now supported in deep, qubit & timetravel Small changes to algo-gate. It is hoped the reduced stack usage by hqm1725 will solve the stack smashing crash seen on Ubuntu 16.04 using gcc 5.4. Users who had problems are encouraged to retest, once 3.5.9 is available in all formats. Much of the hmq1725 code is shared among many algos. The non-shared code was reviewed for potential pointer errors but none were found. The optimizartions described below were the result of changes to Luffa, specifically it is now 100% vectorized. There is no more flippping back and forth between scalar and vector operations. The code is cleaner and less prone to pointer errors. If I'm lucky the rewrite also may have magically solved the hmq1725 problem. The fact is the problem is real and only seems to occur with gcc 5.4. It is not relelated to stack protector compile option as the miner crashes even with it disabled. Yet gcc 4.8 has no problems. The problem is not yet understood. Deep is significantly optimized but there's nothing to compare it with. Qubit also benefits from the same optimizations but, for comparative purposes, less than Deep. Some Timetravel permutations, about one out of 8, also see an increase. All mostly due to implementing midstate precalc for Luffa.
|
|
|
|
felixbrucker
|
|
February 23, 2017, 07:24:38 AM |
|
Edit: All links updated to 3.5.9. cpuminer-opt v3.5.9 is available on git. Google drive is currently down. tarball and windows binaries links stil point to v3.5.8. This post and the OP will be updated when download links are updated.https://github.com/JayDDee/cpuminer-optReduced stack usage for hmq1725 and small speedup. Added Deep algo optimized for AES and AVX2 Rewrite of SSE2 Luffa, midstate now supported in deep, qubit & timetravel Small changes to algo-gate. It is hoped the reduced stack usage by hqm1725 will solve the stack smashing crash seen on Ubuntu 16.04 using gcc 5.4. Users who had problems are encouraged to retest, once 3.5.9 is available in all formats. Much of the hmq1725 code is shared among many algos. The non-shared code was reviewed for potential pointer errors but none were found. The optimizartions described below were the result of changes to Luffa, specifically it is now 100% vectorized. There is no more flippping back and forth between scalar and vector operations. The code is cleaner and less prone to pointer errors. If I'm lucky the rewrite also may have magically solved the hmq1725 problem. The fact is the problem is real and only seems to occur with gcc 5.4. It is not relelated to stack protector compile option as the miner crashes even with it disabled. Yet gcc 4.8 has no problems. The problem is not yet understood. Deep is significantly optimized but there's nothing to compare it with. Qubit also benefits from the same optimizations but, for comparative purposes, less than Deep. Some Timetravel permutations, about one out of 8, also see an increase. All mostly due to implementing midstate precalc for Luffa. will test today evening (+10 hrs from now) thanks
|
|
|
|
HexxoDev
|
|
February 23, 2017, 10:56:39 AM Last edit: February 23, 2017, 11:17:11 AM by HexxoDev |
|
Hi!
I have noticed there is some issue with getwork when trying to solo mine HexxCoin with cpuminer. (HexxCoin is a zcoin fork, lyra2rev2 algo from zoin as 330). Miner works well with ocminers pool.
Actually pointed this out some time ago when tried it with zcoin wallet before it forked to gpu algo. Lot of people wasted power and time and may still be doing it when trying useless solo with cpuminer&wallet. You will only see list of new blocks going past.
So, where is the problem? Any plans to fix solo?
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 23, 2017, 12:13:42 PM |
|
Hi!
I have noticed there is some issue with getwork when trying to solo mine HexxCoin with cpuminer. (HexxCoin is a zcoin fork, lyra2rev2 algo from zoin as 330). Miner works well with ocminers pool.
Actually pointed this out some time ago when tried it with zcoin wallet before it forked to gpu algo. Lot of people wasted power and time and may still be doing it when trying useless solo with cpuminer&wallet. You will only see list of new blocks going past.
So, where is the problem? Any plans to fix solo?
All that wasted time and power could have been avoided by reading the miner's requirements.
|
|
|
|
HexxoDev
|
|
February 23, 2017, 12:36:48 PM |
|
Hi!
I have noticed there is some issue with getwork when trying to solo mine HexxCoin with cpuminer. (HexxCoin is a zcoin fork, lyra2rev2 algo from zoin as 330). Miner works well with ocminers pool.
Actually pointed this out some time ago when tried it with zcoin wallet before it forked to gpu algo. Lot of people wasted power and time and may still be doing it when trying useless solo with cpuminer&wallet. You will only see list of new blocks going past.
So, where is the problem? Any plans to fix solo?
All that wasted time and power could have been avoided by reading the miner's requirements. So i ask again, where is the problem? Any plans to fix solo?
|
|
|
|
My9bot
|
|
February 23, 2017, 05:26:53 PM |
|
got this error at 3.5.9
[code]C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:243:56: error: macro " min" passed 3 arguments, but takes just 2 min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:265:56: error: macro " max" passed 3 arguments, but takes just 2 max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ In file included from C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algo.h:60: , from C:/msys64_3/mingw64/include/c++/6.3.0/algorithm:62, from algo/hodl/serialize.h:13, from algo/hodl/block.h:9, from algo/hodl/hodl.cpp:5: C:/msys64_3/mingw64/include/c++/6.3.0/bits/algorithmfwd.h:362:41: error: macro " max" passed 3 arguments, but takes just 2 max(const _Tp&, const _Tp&, _Compare); ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/algorithmfwd.h:375:41: error: macro " min" passed 3 arguments, but takes just 2 min(const _Tp&, const _Tp&, _Compare); ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/algorithmfwd.h:403:30: error: macro " min" requires 2 arguments, but only 1 given min(initializer_list<_Tp>); ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/algorithmfwd.h:413:30: error: macro " max" requires 2 arguments, but only 1 given max(initializer_list<_Tp>); ^ In file included from C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dis t.h:35:0, from C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algo.h:66, from C:/msys64_3/mingw64/include/c++/6.3.0/algorithm:62, from algo/hodl/serialize.h:13, from algo/hodl/block.h:9, from algo/hodl/hodl.cpp:5: C:/msys64_3/mingw64/include/c++/6.3.0/limits:320:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return _Tp(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:324:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return _Tp(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:387:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return false; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:390:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return true; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:394:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:456:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min(char); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:459:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max(char); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:463:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:523:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return -__SCHAR_MAX__ - 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:526:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:530:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:593:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return 0; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:596:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__ * 2U + 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:600:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:666:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min (wchar_t); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:669:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (wchar_t); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:673:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:735:11: error: macro "min" requires 2 arguments, but only 1 given min() noexcept { return __glibcxx_min (char16_t); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:738:11: error: macro "max" requires 2 arguments, but only 1 given max() noexcept { return __glibcxx_max (char16_t); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:741:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:796:11: error: macro "min" requires 2 arguments, but only 1 given min() noexcept { return __glibcxx_min (char32_t); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:799:11: error: macro "max" requires 2 arguments, but only 1 given max() noexcept { return __glibcxx_max (char32_t); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:802:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:858:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return -__SHRT_MAX__ - 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:861:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:865:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:925:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return 0; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:928:11: error: macro "max" requires 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__ * 2U + 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:932:38: error: macro "min" requires 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:998:11: error: macro "min" requires 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return -__INT_MAX__ - 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1001:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1005:38: error: macro "min" require s 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1065:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return 0; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1068:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__ * 2U + 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1072:38: error: macro "min" require s 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1137:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_MAX__ - 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1140:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1144:38: error: macro "min" require s 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1204:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return 0; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1207:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__ * 2UL + 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1211:38: error: macro "min" require s 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1277:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_LONG_MAX__ - 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1280:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1284:38: error: macro "min" require s 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1347:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return 0; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1350:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__ * 2ULL + 1; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1354:38: error: macro "min" require s 2 arguments, but only 1 given lowest() noexcept { return min(); } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "min" require s 2 arguments, but only 1 given __INT_N_201103 (__GLIBCXX_TYPE_INT_N_0), __INT_N_U201103 (__GLIBCXX_TYPE_INT _N_0)) ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "min" require s 2 arguments, but only 1 given C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "min" require s 2 arguments, but only 1 given C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "max" require s 2 arguments, but only 1 given C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "min" require s 2 arguments, but only 1 given C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "max" require s 2 arguments, but only 1 given C:/msys64_3/mingw64/include/c++/6.3.0/limits:1598:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MIN__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1601:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1673:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return __DBL_MIN__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1676:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __DBL_MAX__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1748:11: error: macro "min" require s 2 arguments, but only 1 given min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MIN__; } ^ C:/msys64_3/mingw64/include/c++/6.3.0/limits:1751:11: error: macro "max" require s 2 arguments, but only 1 given max() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MAX__; } ^ In file included from C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algo.h:66: , from C:/msys64_3/mingw64/include/c++/6.3.0/algorithm:62, from algo/hodl/serialize.h:13, from algo/hodl/block.h:9, from algo/hodl/hodl.cpp:5: C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:76:56: error: macr o "max" requires 2 arguments, but only 1 given _IntType __b = std::numeric_limits<_IntType>::max()) ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:105:57: error: mac ro "max" requires 2 arguments, but only 1 given _IntType __b = std::numeric_limits<_IntType>::max()) ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:149:11: error: mac ro "min" requires 2 arguments, but only 1 given min() const ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:156:11: error: mac ro "max" requires 2 arguments, but only 1 given max() const ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:227:40: error: mac ro "min" requires 2 arguments, but only 1 given const __uctype __urngmin = __urng.min(); ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:228:40: error: mac ro "max" requires 2 arguments, but only 1 given const __uctype __urngmax = __urng.max(); ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:296:40: error: mac ro "min" requires 2 arguments, but only 1 given const __uctype __urngmin = __urng.min(); ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:297:40: error: mac ro "max" requires 2 arguments, but only 1 given const __uctype __urngmax = __urng.max(); ^ In file included from C:/msys64_3/mingw64/include/c++/6.3.0/algorithm:62:0, from algo/hodl/serialize.h:13, from algo/hodl/block.h:9, from algo/hodl/hodl.cpp:5: C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algo.h:3447:34: error: macro "min " requires 2 arguments, but only 1 given min(initializer_list<_Tp> __l) ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algo.h:3459:34: error: macro "max " requires 2 arguments, but only 1 given max(initializer_list<_Tp> __l) ^ In file included from algo/hodl/block.h:9:0, from algo/hodl/hodl.cpp:5: algo/hodl/serialize.h:246:64: error: macro "max" requires 2 arguments, but only 1 given else if (nSize <= std::numeric_limits<unsigned short>::max()) return sizeof (unsigned char) + sizeof(unsigned short); ^ algo/hodl/serialize.h:247:62: error: macro "max" requires 2 arguments, but only 1 given else if (nSize <= std::numeric_limits<unsigned int>::max()) return sizeof( unsigned char) + sizeof(unsigned int); ^ algo/hodl/serialize.h:258:64: error: macro "max" requires 2 arguments, but only 1 given else if (nSize <= std::numeric_limits<unsigned short>::max()) ^ algo/hodl/serialize.h:263:62: error: macro "max" requires 2 arguments, but only 1 given else if (nSize <= std::numeric_limits<unsigned int>::max()) ^ algo/hodl/hodl-gate.c: In function 'hodl_scanhash': algo/hodl/hodl-gate.c:105:21: warning: passing argument 1 of 'GenRandomGarbage' from incompatible pointer type [-Wincompatible-pointer-types] GenRandomGarbage( hodl_scratchbuf, work->data, thr_id ); ^~~~~~~~~~~~~~~ In file included from algo/hodl/hodl-gate.c:8:0: algo/hodl/hodl-wolf.h:25:6: note: expected 'CacheEntry * {aka union _CacheEntry *}' but argument is of type 'unsigned char *' void GenRandomGarbage( CacheEntry *Garbage, uint32_t *pdata, int thr_id); ^~~~~~~~~~~~~~~~ In file included from algo/hodl/hodl.cpp:1:0: C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:195:5: error: expected unqualified-id before 'const' min(const _Tp& __a, const _Tp& __b) ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:195:5: error: expected ')' before 'const' C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:195:5: error: expected initializer before 'const' C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:219:5: error: expected unqualified-id before 'const' max(const _Tp& __a, const _Tp& __b) ^ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:219:5: error: expected ')' before 'const' C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:219:5: error: expected initializer before 'const' In file included from C:/msys64_3/mingw64/include/c++/6.3.0/bits/char_traits.h:3 9:0, from C:/msys64_3/mingw64/include/c++/6.3.0/string:40, from C:/msys64_3/mingw64/include/c++/6.3.0/stdexcept:39, from algo/hodl/hodl_uint256.h:11, from algo/hodl/hodl.cpp:3: C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:243:5: error: 'std::mi n' declared as an 'inline' variable min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^~~ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:246:7: error: expected primary-expression before 'if' if (__comp(__b, __a)) ^~ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:246:7: error: expected '}' before 'if' C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:246:7: error: expected ';' before 'if' C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:248:7: error: expected unqualified-id before 'return' return __a; ^~~~~~ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:265:5: error: 'max' de clared as an 'inline' variable max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^~~ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:268:7: error: expected primary-expression before 'if' if (__comp(__a, __b)) ^~ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:268:7: error: expected '}' before 'if' C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:268:7: error: expected ';' before 'if' C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:270:7: error: expected unqualified-id before 'return' return __a; ^~~~~~ C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:271:5: error: expected declaration before '}' token } ^ make[2]: *** [Makefile:3381: algo/hodl/cpuminer-hodl.o] Fehler 1 make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet.... make[1]: *** [Makefile:3542: all-recursive] Fehler 1 make: *** [Makefile:665: all] Fehler 2
[/code]
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 23, 2017, 05:58:40 PM |
|
got this error at 3.5.9
Ths look like a problem with your environment. Does 3.5.8 compile? If I recently broke it it's easier to fix. This looks to be in c++ code which is only used by the non-AES version of Hodl, suggesting your CPU doesn't have AES. It also appears you are using gcc 6.4. The Windows binaries are built with 4.8. I suggest you use gcc 4.8 if possible as there have been other reports of problems with newer compilers. If the compile fails with 4.8 there may be other issues with your environment. Or you could take the lazy way out and use the binaries.
|
|
|
|
My9bot
|
|
February 23, 2017, 06:04:26 PM Last edit: February 23, 2017, 06:16:40 PM by My9bot |
|
got this error at 3.5.9
Ths look like a problem with your environment. Does 3.5.8 compile? If I recently broke it it's easier to fix. This looks to be in c++ code which is only used by the non-AES version of Hodl, suggesting your CPU doesn't have AES. It also appears you are using gcc 6.4. The Windows binaries are built with 4.8. I suggest you use gcc 4.8 if possible as there have been other reports of problems with newer compilers. If the compile fails with 4.8 there may be other issues with your environment. Or you could take the lazy way out and use the binaries. my cpu has AES and im using msys2 and it doesn´t support to install a older version of gcc
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
February 23, 2017, 06:13:10 PM |
|
got this error at 3.5.9
Ths look like a problem with your environment. Does 3.5.8 compile? If I recently broke it it's easier to fix. This looks to be in c++ code which is only used by the non-AES version of Hodl, suggesting your CPU doesn't have AES. It also appears you are using gcc 6.4. The Windows binaries are built with 4.8. I suggest you use gcc 4.8 if possible as there have been other reports of problems with newer compilers. If the compile fails with 4.8 there may be other issues with your environment. Or you could take the lazy way out and use the binaries. my cpu has AES and im using msys2 and it doesn´t support to install a older version of gcc There's not much I can do about your build environment. Like I said you can use the binaries or if you're comfortable with code you can comment out the lines that don't compile. Since the code is only used on non-AES CPUs, removing it will have no effect on your mining.
|
|
|
|
My9bot
|
|
February 23, 2017, 06:22:24 PM |
|
got this error at 3.5.9
Ths look like a problem with your environment. Does 3.5.8 compile? If I recently broke it it's easier to fix. This looks to be in c++ code which is only used by the non-AES version of Hodl, suggesting your CPU doesn't have AES. It also appears you are using gcc 6.4. The Windows binaries are built with 4.8. I suggest you use gcc 4.8 if possible as there have been other reports of problems with newer compilers. If the compile fails with 4.8 there may be other issues with your environment. Or you could take the lazy way out and use the binaries. my cpu has AES and im using msys2 and it doesn´t support to install a older version of gcc There's not much I can do about your build environment. Like I said you can use the binaries or if you're comfortable with code you can comment out the lines that don't compile. Since the code is only used on non-AES CPUs, removing it will have no effect on your mining. ok first of all thx for your time and help!!! i recompiled 3.5.8 no problems 3.5.9 i get errors because of that i don´t think it is a build environment problem sry for my bad english
|
|
|
|
|