Bitcoin Forum
October 19, 2018, 06:05:48 AM *
News: Make sure you are not using versions of Bitcoin Core other than 0.17.0 [Torrent], 0.16.3, 0.15.2, or 0.14.3. More info.
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 [104] 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 ... 190 »
  Print  
Author Topic: [ANN]: cpuminer-opt v3.8.8.1, open source optimized multi-algo CPU miner  (Read 416019 times)
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 21, 2017, 08:16:11 PM
 #2061

i have no more idea , except switching GCC or to install 14.04         step back     grrrrr

So what happened with -fno-stack-protector?

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1539929148
Hero Member
*
Offline Offline

Posts: 1539929148

View Profile Personal Message (Offline)

Ignore
1539929148
Reply with quote  #2

1539929148
Report to moderator
1539929148
Hero Member
*
Offline Offline

Posts: 1539929148

View Profile Personal Message (Offline)

Ignore
1539929148
Reply with quote  #2

1539929148
Report to moderator
1539929148
Hero Member
*
Offline Offline

Posts: 1539929148

View Profile Personal Message (Offline)

Ignore
1539929148
Reply with quote  #2

1539929148
Report to moderator
felixbrucker
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500


View Profile WWW
February 22, 2017, 07:51:20 AM
 #2062

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 Cheesy

         nicehash
      
                     BUY & SELL hashing power
    Mine bitcoin, ethereum, monero, zcash, dash, litecoin and others
      
       LEARN MORE
       at nicehash.com
      
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 22, 2017, 03:05:17 PM
 #2063

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 Cheesy

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.
Code:
./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. Wink

Edit: meanwhile I found a suspicious line of code with apparently ambiguous operator precedence:

Code:
  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)

Code:
( (__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:

Code:
(__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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
integrale
Full Member
***
Offline Offline

Activity: 144
Merit: 100


Eager to learn


View Profile
February 22, 2017, 03:15:22 PM
 #2064

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 Offline

Activity: 144
Merit: 100


Eager to learn


View Profile
February 22, 2017, 03:17:26 PM
 #2065

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
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 22, 2017, 03:25:20 PM
 #2066

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
integrale
Full Member
***
Offline Offline

Activity: 144
Merit: 100


Eager to learn


View Profile
February 22, 2017, 06:04:18 PM
 #2067

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
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500


View Profile WWW
February 22, 2017, 07:05:31 PM
 #2068

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 Cheesy

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.
Code:
./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. Wink

Edit: meanwhile I found a suspicious line of code with apparently ambiguous operator precedence:

Code:
  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)

Code:
( (__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:

Code:
(__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 Wink

on my xeon it crashes as well (3.5.7 is also affected, dont have any older versions here):

Code:
./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)

         nicehash
      
                     BUY & SELL hashing power
    Mine bitcoin, ethereum, monero, zcash, dash, litecoin and others
      
       LEARN MORE
       at nicehash.com
      
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 22, 2017, 07:33:08 PM
 #2069

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 22, 2017, 08:06:37 PM
 #2070

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.


cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 23, 2017, 04:16:12 AM
 #2071

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-opt

Reduced 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.


cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
felixbrucker
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500


View Profile WWW
February 23, 2017, 07:24:38 AM
 #2072

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-opt

Reduced 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

         nicehash
      
                     BUY & SELL hashing power
    Mine bitcoin, ethereum, monero, zcash, dash, litecoin and others
      
       LEARN MORE
       at nicehash.com
      
HexxoDev
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
February 23, 2017, 10:56:39 AM
 #2073

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
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 23, 2017, 12:13:42 PM
 #2074

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
HexxoDev
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
February 23, 2017, 12:36:48 PM
 #2075

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
Full Member
***
Offline Offline

Activity: 243
Merit: 100


View Profile
February 23, 2017, 05:26:53 PM
 #2076

Code:
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]

I'm better with code than with words-SatoshiNakamoto
Espers [ESP]SiteOnBlockchain
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 23, 2017, 05:58:40 PM
 #2077

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
My9bot
Full Member
***
Offline Offline

Activity: 243
Merit: 100


View Profile
February 23, 2017, 06:04:26 PM
 #2078

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


I'm better with code than with words-SatoshiNakamoto
Espers [ESP]SiteOnBlockchain
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1050


View Profile
February 23, 2017, 06:13:10 PM
 #2079

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
My9bot
Full Member
***
Offline Offline

Activity: 243
Merit: 100


View Profile
February 23, 2017, 06:22:24 PM
 #2080

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

I'm better with code than with words-SatoshiNakamoto
Espers [ESP]SiteOnBlockchain
Pages: « 1 ... 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 [104] 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 ... 190 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!