Pages:
Author

Topic: [ANN]: cpuminer-opt v3.8.8.1, open source optimized multi-algo CPU miner - page 92. (Read 444067 times)

legendary
Activity: 1484
Merit: 1082
ccminer/cpuminer developer
Code:
valgrind --leak-check=full -v --log-file=report.log ./cpuminer ....

that will use secure memory allocations and logs overflows etc. This error is happening if you write too far in an array... and indeed doesnt crash all the time..

told you..
legendary
Activity: 1470
Merit: 1114
I've built a VM based on Ubuntu 16.04 with gcc 5.4. It crashes on hmq1725 with statck protector
enabled but works with it disabled. CPU is i7-6700K. AVX2 isn't available, probably a VM issue.

I can take over the troubleshooting now.

Edit: I found the bug in hmq1725. An array was defined as size 20 when it should have been 32 (0x20).
I deny reponsibility for the bug as it was a cut and paste and worked until the compiler got smarter. Wink

until the next release comes out:

Edit /algo/hmq1275.c line 310, change array size to 32.

Code:
old:  uint32_t endiandata[20] __attribute__((aligned(64)));

new:  uint32_t endiandata[32] __attribute__((aligned(64)));
legendary
Activity: 1470
Merit: 1114
That's better. You seem to have a variety of CPUs. If you're willing you could help define
the problem better.

Please always try ./build.sh first. Only try other options if it fails.

So I don't get confused we should stick with one CPU at a time. Here is the info I have for
your i7-2600 system, please correct any errors.

CPU: i7-2600
OS: Ubuntu 14.04
GCC: 4.8.4
compile: ./build.sh 

If you have problems please report. If everything works, try one of the xeons. Please provide the info above
for each CPU with the test results.

The old AMD will be last.

 
full member
Activity: 144
Merit: 100
Eager to learn
the mystery looks like this

./autogen.sh  > ./configure > make      ERROR but work with the cmd    CFLAGS="-O3 -march=corei7-avx -Wall" CXXFLAGS="$CFLAGS -std=gnu++11" ./configure --with-curl but it exclude the AVX

./build.sh > ./configure.sh > make  works correctly  with all supported extensions


looks that i choose the wrong way to compile it correctly ?
legendary
Activity: 1470
Merit: 1114
thats the command line i putted in , because compiling with built in function (as native gave me an error)

Yet another mystery. Can you post the errors you get when you use ./build.sh. The newer compilers
might recongnize the brand name. You could also try -march-sandybridge.

I have no idea why it would not compile for AES and AVX when using -march=corei7-avx.

full member
Activity: 144
Merit: 100
Eager to learn
ac_cs_config="'--with-curl' 'CFLAGS=-O3 -march=corei7-avx -Wall' 'CXXFLAGS=-O3 -march=corei7-avx -Wall -std=gnu++11'"
ac_cs_version="\
cpuminer-opt config.status 3.5.10
configured by ./configure, generated by GNU Autoconf 2.69,
  with options \"$ac_cs_config\"
full member
Activity: 144
Merit: 100
Eager to learn
thats the command line i putted in , because compiling with built in function (as native gave me an error)
legendary
Activity: 1470
Merit: 1114
yes you need urgently a break , enjoy it

btw as i was tested another machine   i expected this  running on Ubuntu 14.04 with gcc 4.8.4

         **********  cpuminer-opt 3.5.10  ***********
     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) Core(TM) i7-2600 CPU @ 3.40GHz
CPU features: SSE2 AES AVX
SW built on Feb 26 2017 with GCC 4.8.4
SW features: SSE2
Algo features: SSE2 AES AVX AVX2
Start mining with SSE2



even compiled  as followed         CFLAGS="-O3 -march=corei7-avx -Wall" CXXFLAGS="$CFLAGS -std=gnu++11" ./configure --with-curl (native wont works)

Are you sure you compiled with corei7-avx? It says it was compiled without AES and AVX2.
full member
Activity: 144
Merit: 100
Eager to learn
yes you need urgently a break , enjoy it

btw as i was tested another machine   i expected this  running on Ubuntu 14.04 with gcc 4.8.4

         **********  cpuminer-opt 3.5.10  ***********
     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) Core(TM) i7-2600 CPU @ 3.40GHz
CPU features: SSE2 AES AVX
SW built on Feb 26 2017 with GCC 4.8.4
SW features: SSE2
Algo features: SSE2 AES AVX AVX2
Start mining with SSE2

[2017-02-27 00:04:00] Starting Stratum on stratum+tcp://yiimp.ccminer.org:3555
[2017-02-27 00:04:00] 8 miner threads started, using 'timetravel' algorithm.
[2017-02-27 00:04:00] Stratum difficulty set to 0.125
[2017-02-27 00:04:00] timetravel block 399599, diff 6.775
[2017-02-27 00:04:01] CPU #1: 6219 H, 41.02 kH/s
[2017-02-27 00:04:01] Accepted 1/1 (100%), 6219 H, 41.02 kH/s, 55C
[2017-02-27 00:04:02] CPU #0: 65.54 kH, 59.95 kH/s
[2017-02-27 00:04:02] CPU #2: 65.54 kH, 60.04 kH/s
[2017-02-27 00:04:02] CPU #4: 65.54 kH, 60.06 kH/s
[2017-02-27 00:04:02] CPU #3: 65.54 kH, 59.77 kH/s
[2017-02-27 00:04:02] CPU #7: 65.54 kH, 60.40 kH/s
[2017-02-27 00:04:02] CPU #6: 65.54 kH, 59.07 kH/s
[2017-02-27 00:04:02] CPU #5: 65.54 kH, 58.85 kH/s
[2017-02-27 00:04:05] CPU #2: 207.93 kH, 63.55 kH/s
[2017-02-27 00:04:05] Accepted 2/2 (100%), 607.37 kH, 462.68 kH/s, 62C
[2017-02-27 00:04:10] CPU #7: 514.55 kH, 63.60 kH/s
[2017-02-27 00:04:10] Accepted 3/3 (100%), 1056.38 kH, 465.88 kH/s, 63C
[2017-02-27 00:04:12] CPU #1: 689.11 kH, 63.51 kH/s
[2017-02-27 00:04:12] Accepted 4/4 (100%), 1739.27 kH, 488.37 kH/s, 64C
[2017-02-27 00:04:12] CPU #2: 465.57 kH, 63.49 kH/s
[2017-02-27 00:04:12] Accepted 5/5 (100%), 1996.90 kH, 488.30 kH/s, 64C
[2017-02-27 00:04:13] CPU #2: 17.04 kH, 62.81 kH/s

even compiled  as followed         CFLAGS="-O3 -march=corei7-avx -Wall" CXXFLAGS="$CFLAGS -std=gnu++11" ./configure --with-curl (native wont works)
legendary
Activity: 1470
Merit: 1114
i would like to report

Xubuntu 16.04 LTS  cpuminer-opt 3.5.10  GCC 5.4.1   Amd Athlon x2 240 sse2

Xevan
hmq1725
yescrypt  
timetravel

yet tested  still stack-smashing error

Cryptonight works

You get stack smashing on all these? I didn't realize that, I thought it was only hmq1725.
Yescrypt has nothing in common with the others.

I thought you had an i5, it's very confusing.
legendary
Activity: 1470
Merit: 1114
So, no real progress on either issue. Thanks for testing.

At least now there is a workaround for the compile error.

Windows binaries will work using Wine to possibly get around the stack smashing.

Other than that I'm kinda stuck on both issues, time for a break.
full member
Activity: 144
Merit: 100
Eager to learn
i would like to report

Xubuntu 16.04 LTS  cpuminer-opt 3.5.10  GCC 5.4.1   Amd Athlon x2 240 sse2

Xevan
hmq1725
yescrypt  
timetravel

yet tested  still stack-smashing error

Cryptonight works
full member
Activity: 239
Merit: 100
That's weird. The compiler doesn't see the NO_AES_NI macro.

You should be able to comment everything out until I figure this out.
thank you now compiled successfully

Was that from the post I deleted? It didn't work for me, I must have messed it up.

no compiled successfully after i commented everything out
legendary
Activity: 1470
Merit: 1114
That's weird. The compiler doesn't see the NO_AES_NI macro.

You should be able to comment everything out until I figure this out.
thank you now compiled successfully

Was that from the post I deleted? It didn't work for me, I must have messed it up.
full member
Activity: 239
Merit: 100
That's weird. The compiler doesn't see the NO_AES_NI macro.

You should be able to comment everything out until I figure this out.
thank you now compiled successfully
legendary
Activity: 1470
Merit: 1114
That's weird. The compiler doesn't see the NO_AES_NI macro.

You should be able to comment everything out until I figure this out.
full member
Activity: 239
Merit: 100


There must be a mistake, the compiler is still trying to compile the code in hodl.cpp. With the
change the file should be empty to the compiler if you're compiling for AES.

I implementned the change in 3.5.10, so try that.


3.5.10 result :
Code:
In file included from C:/msys64_3/mingw64/include/c++/6.3.0/bits/char_traits.h:39: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:6:
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:0,
                 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:8:
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_dist.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:8:
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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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" requires 2 arguments, but only 1 given
C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "min" requires 2 arguments, but only 1 given
C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "max" requires 2 arguments, but only 1 given
C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "min" requires 2 arguments, but only 1 given
C:/msys64_3/mingw64/include/c++/6.3.0/limits:1570:85: error: macro "max" requires 2 arguments, but only 1 given
C:/msys64_3/mingw64/include/c++/6.3.0/limits:1598:11: error: macro "min" requires 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" requires 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" requires 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" requires 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" requires 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" requires 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:0,
                 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:8:
C:/msys64_3/mingw64/include/c++/6.3.0/bits/uniform_int_dist.h:76:56: error: macro "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: macro "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: macro "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: macro "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: macro "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: macro "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: macro "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: macro "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:8:
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:8:
algo/hodl/serialize.h:246:64: error: macro "max" requires 2 arguments, but only 1 given
     else if (nSize <= std::numeric_limits::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::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::max())
                                                                ^
algo/hodl/serialize.h:263:62: error: macro "max" requires 2 arguments, but only 1 given
     else if (nSize <= std::numeric_limits::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);
      ^~~~~~~~~~~~~~~~
mv -f algo/hodl/.deps/cpuminer-hodl-gate.Tpo algo/hodl/.deps/cpuminer-hodl-gate.Po
g++ -DHAVE_CONFIG_H -I.  -Iyes/include -fno-strict-aliasing -I./compat/jansson -I. -Iyes/include  -O3 -march=native -Wall -std=gnu++11 -fpermissive -MT algo/hodl/cpuminer-hodl_uint256.o -MD -MP -MF algo/hodl/.deps/cpuminer-hodl_uint256.Tpo -c -o algo/hodl/cpuminer-hodl_uint256.o `test -f 'algo/hodl/hodl_uint256.cpp' || echo './'`algo/hodl/hodl_uint256.cpp
mv -f algo/hodl/.deps/cpuminer-hodl_arith_uint256.Tpo algo/hodl/.deps/cpuminer-hodl_arith_uint256.Po
In file included from algo/hodl/hodl.cpp:4: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:39: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:6:
C:/msys64_3/mingw64/include/c++/6.3.0/bits/stl_algobase.h:243:5: error: 'std::min' 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' declared 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
     }
     ^
g++ -DHAVE_CONFIG_H -I.  -Iyes/include -fno-strict-aliasing -I./compat/jansson -I. -Iyes/include  -O3 -march=native -Wall -std=gnu++11 -fpermissive -MT algo/hodl/cpuminer-hash.o -MD -MP -MF algo/hodl/.deps/cpuminer-hash.Tpo -c -o algo/hodl/cpuminer-hash.o `test -f 'algo/hodl/hash.cpp' || echo './'`algo/hodl/hash.cpp
make[2]: *** [Makefile:3381: algo/hodl/cpuminer-hodl.o] Fehler 1
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
mv -f algo/hodl/.deps/cpuminer-hodl_uint256.Tpo algo/hodl/.deps/cpuminer-hodl_uint256.Po
mv -f algo/hodl/.deps/cpuminer-hash.Tpo algo/hodl/.deps/cpuminer-hash.Po
mv -f algo/haval/.deps/cpuminer-haval.Tpo algo/haval/.deps/cpuminer-haval.Po
make[2]: Verzeichnis „/home/Ich/cpuminer-opt-3.5.10“ wird verlassen
make[1]: *** [Makefile:3542: all-recursive] Fehler 1
make[1]: Verzeichnis „/home/Ich/cpuminer-opt-3.5.10“ wird verlassen
make: *** [Makefile:665: all] Fehler 2
C:\msys64_3\mingw64\bin\strip.exe: 'cpuminer': No such file


Code:
$ gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )//g'

-march=broadwell -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mrdseed -mprfchw -madx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=broadwell


same errors if using
Code:
// don't compile on CPU with AES
#ifndef NO_AES_NI        ///////////////// NEW

#include "miner.h"

#endif          ///////////////////////// NEW
legendary
Activity: 1470
Merit: 1114


There must be a mistake, the compiler is still trying to compile the code in hodl.cpp. With the
change the file should be empty to the compiler if you're compiling for AES.

I implementned the change in 3.5.10, so try that.
legendary
Activity: 1470
Merit: 1114
cpuminer-opt 3.5.10 is released. See OP, link in sig.

This release includes incremental improvements to many chained algos that use Groestl or Luffa.
As usual the shorter chains like Deep and Qubit will see the biggest improvement while the longer
chains like xevan and hmq1725 will be less noticeable. Cryptonight also sees a little boost.

There is a workaround for the compile error in non-aes hodl code when compiling with gcc 6.3.
I hope it works, I don't have a gcc 6.3 environment.

There is nothing specific addressing the stack smashing in hmq1725, however the Groestl rewrite
has cleaned up the code and reduced the potential for subtle pointer errors.

I would appreciate if the users who reported these issues could provide an update.
full member
Activity: 239
Merit: 100
@My9bot

 I just tested the hodl workaround. If you want to try it out it's only a 2 line code change.
Edit ./algo/hodl/hodl.cpp and add a line at the top and bottom of the file. It's not a fix but it does do a good
job of avoiding the problem, as long as there's nothing hidden underneath. It might just be a game of
whack-a-mole.

Code:
// don't compile on CPU with AES
#ifndef NO_AES_NI        ///////////////// NEW

#include "miner.h"
...
...
    SHA512Filler( mainMemoryPsuedoRandomData, thr_id, midHash);
  }

#endif          ///////////////////////// NEW

Let me know if it works.

Edit: I had another thought. I had to use a hack to get non-aes hodl to work on Windows. That may
be part of the problem. Hacks have a tendecy to be fragile.

Edit: Another thought and a question. Did you compile with -std=gnu++11 as is done in the winbuild.sh script?

This question might also applies to the hmq1725. I don't think there's any c++ code in hmq1725
but it doesn't hurt to try. There may be a switch in the newer compilers that makes them compile
like gcc 4.8.

yes i did compile with  -std=gnu++11.
tryed your fix
result:
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:8:
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:8:
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:8:
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:8:
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:8:
algo/hodl/serialize.h:246:64: error: macro "max" requires 2 arguments, but only                                                                                         1 given
     else if (nSize <= std::numeric_limits::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::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::max())
                                                                ^
algo/hodl/serialize.h:263:62: error: macro "max" requires 2 arguments, but only                                                                                         1 given
     else if (nSize <= std::numeric_limits::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:4: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:6:
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
Pages:
Jump to: