Bitcoin Forum
December 04, 2016, 08:25:30 PM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Compile error on PS3  (Read 1292 times)
sbr2004
Newbie
*
Offline Offline

Activity: 8


View Profile
June 20, 2011, 06:27:07 AM
 #1

Because I cant post to correct topic, it goes here.
I'm trying to compile PS3 miner on Fedora 7 and get error below. Maybe verement will notice this post and will answer?

spu-gcc -DUNROLL_SHA256 -Dinline="inline __attribute__((always_inline))" -O3 -fno-strict-aliasing -funroll-loops -mno-safe-hints -Wall    -c -o sha256.o sha256.c
sha256.c: In function 'vec_SHR':
sha256.c:61: warning: implicit declaration of function 'spu_sr'
sha256.c:61: error: incompatible types in return
sha256.c:62: warning: control reaches end of non-void function
make[2]: *** [sha256.o] Error 1
make[2]: Leaving directory `/home/sbernard/cellminer/ext/spu'
make[1]: *** [spu/worker.elf] Error 2
make[1]: Leaving directory `/home/sbernard/cellminer/ext'
make: *** [ext/cellminer.so] Error 2
1480883130
Hero Member
*
Offline Offline

Posts: 1480883130

View Profile Personal Message (Offline)

Ignore
1480883130
Reply with quote  #2

1480883130
Report to moderator
1480883130
Hero Member
*
Offline Offline

Posts: 1480883130

View Profile Personal Message (Offline)

Ignore
1480883130
Reply with quote  #2

1480883130
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480883130
Hero Member
*
Offline Offline

Posts: 1480883130

View Profile Personal Message (Offline)

Ignore
1480883130
Reply with quote  #2

1480883130
Report to moderator
1480883130
Hero Member
*
Offline Offline

Posts: 1480883130

View Profile Personal Message (Offline)

Ignore
1480883130
Reply with quote  #2

1480883130
Report to moderator
SomeoneWeird
Hero Member
*****
Offline Offline

Activity: 700


View Profile
June 20, 2011, 06:31:08 AM
 #2


Because I cant post to correct topic, it goes here.
I'm trying to compile PS3 miner on Fedora 7 and get error below. Maybe verement will notice this post and will answer?

spu-gcc -DUNROLL_SHA256 -Dinline="inline __attribute__((always_inline))" -O3 -fno-strict-aliasing -funroll-loops -mno-safe-hints -Wall    -c -o sha256.o sha256.c
sha256.c: In function 'vec_SHR':
sha256.c:61: warning: implicit declaration of function 'spu_sr'
sha256.c:61: error: incompatible types in return
sha256.c:62: warning: control reaches end of non-void function
make[2]: *** [sha256.o] Error 1
make[2]: Leaving directory `/home/sbernard/cellminer/ext/spu'
make[1]: *** [spu/worker.elf] Error 2
make[1]: Leaving directory `/home/sbernard/cellminer/ext'
make: *** [ext/cellminer.so] Error 2

Why? Your only going to get ~20mh/s on it.
sbr2004
Newbie
*
Offline Offline

Activity: 8


View Profile
June 20, 2011, 06:55:55 AM
 #3

for fun Smiley
verement
Newbie
*
Offline Offline

Activity: 16


View Profile
June 22, 2011, 03:22:26 AM
 #4

Because I cant post to correct topic, it goes here.
I'm trying to compile PS3 miner on Fedora 7 and get error below. Maybe verement will notice this post and will answer?

spu-gcc -DUNROLL_SHA256 -Dinline="inline __attribute__((always_inline))" -O3 -fno-strict-aliasing -funroll-loops -mno-safe-hints -Wall    -c -o sha256.o sha256.c
sha256.c: In function 'vec_SHR':
sha256.c:61: warning: implicit declaration of function 'spu_sr'
sha256.c:61: error: incompatible types in return
sha256.c:62: warning: control reaches end of non-void function
make[2]: *** [sha256.o] Error 1
make[2]: Leaving directory `/home/sbernard/cellminer/ext/spu'
make[1]: *** [spu/worker.elf] Error 2
make[1]: Leaving directory `/home/sbernard/cellminer/ext'
make: *** [ext/cellminer.so] Error 2

The declaration for spu_sr should have been provided by <spu_intrinsics.h> which comes with the compiler. Your compiler didn't complain about that file being missing, so something seems odd.

What is the version of your spu-gcc?

If I can find access to a Fedora 7 system maybe I can look better into it.

Cell Miner (https://github.com/verement/cellminer) — Donations: 18xDLQsJ94ihhx5YovqAhVY2b9SC5b81h
sbr2004
Newbie
*
Offline Offline

Activity: 8


View Profile
June 29, 2011, 07:32:01 AM
 #5

> spu-gcc -v
Using built-in specs.
Target: spu
Configured with: ../toolchain/gcc/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --disable-shared --disable-threads --disable-checking --with-headers --with-system-zlib --with-newlib --enable-languages=c,c++,fortran --disable-nls --enable-version-specific-runtime-libs --disable-libssp --program-prefix=spu- --target=spu
Thread model: single
gcc version 4.1.1

Seems we dont have spu_sr, only spu_sl?


/usr/lib/gcc/spu/4.1.1/include/spu_internals.h

...
#define spu_rlmaskqw(ra,rb)       __builtin_spu_rlmaskqw(ra,rb)
#define spu_rlmaskqwbyte(ra,rb)   __builtin_spu_rlmaskqwbyte(ra,rb)
#define spu_rlmaskqwbytebc(ra,rb) __builtin_spu_rlmaskqwbytebc(ra,rb)
#define spu_sl(ra,rb)             __builtin_spu_sl(ra,rb)
#define spu_slqw(ra,rb)           __builtin_spu_slqw(ra,rb)
#define spu_slqwbyte(ra,rb)       __builtin_spu_slqwbyte(ra,rb)
...

/usr/lib/gcc/spu/4.1.1/include> grep -i spu_sr * - nothing.

Too old compiler?


PS It is QS20 blade.

Etlase2
Hero Member
*****
Offline Offline

Activity: 798


View Profile
June 29, 2011, 07:40:16 AM
 #6

Do you need to have an old version of a PS3 without the update that removed linux?

It's a shame it only does 20mh/s, one would think with the fancy cell processor it might do better.

sbr2004
Newbie
*
Offline Offline

Activity: 8


View Profile
June 29, 2011, 08:16:38 AM
 #7


In fact my fancy PS3 has 6 cell CPU's, and it can do whooping 120 mh/sec  Grin



Do you need to have an old version of a PS3 without the update that removed linux?

It's a shame it only does 20mh/s, one would think with the fancy cell processor it might do better.
earthmeLon
Newbie
*
Offline Offline

Activity: 11


View Profile
July 05, 2011, 09:29:32 PM
 #8

Was a solution found to this make error?

Hebination
Newbie
*
Offline Offline

Activity: 16


View Profile
July 05, 2011, 09:34:06 PM
 #9

Was a solution found to this make error?



What firmware is your PS3 running?

What you might want to do is try to make the PPU and SPU miners seperately. go into the /ext/spu directory and try to make the spu. If that works, then go into the ppu folder and make the ppu miner. If it errors out, post the result.
Hebination
Newbie
*
Offline Offline

Activity: 16


View Profile
July 05, 2011, 09:37:46 PM
 #10

I made a guide for installing and configuring Cellminer on Debian Wheezy, it might be of some help.

I was running into all kinds of compiling errors because of library errors with the version of GCC that installs with Wheezy.
earthmeLon
Newbie
*
Offline Offline

Activity: 11


View Profile
July 05, 2011, 09:40:06 PM
 #11

Was a solution found to this make error?



What firmware is your PS3 running?

What you might want to do is try to make the PPU and SPU miners seperately. go into the /ext/spu directory and try to make the spu. If that works, then go into the ppu folder and make the ppu miner. If it errors out, post the result.


Code:
[melon@bifrost spu]$ ppu-gcc -v
Using built-in specs.
Target: ppu
Configured with: ../toolchain/gcc/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-as=/usr/bin/ppu-as --with-ld=/usr/bin/ppu-ld --enable-threads --with-system-zlib --disable-checking --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,fortran,ada --disable-nls --enable-clocale=gnu --enable-version-specific-runtime-libs --with-long-double-128 --program-prefix=ppu- --disable-bootstrap --host=ppu --build=powerpc64-unknown-linux-gnu --target=ppu
Thread model: posix
gcc version 4.1.1
[melon@bifrost spu]$ spu-gcc -v
Using built-in specs.
Target: spu
Configured with: ../toolchain/gcc/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --disable-shared --disable-threads --disable-checking --with-headers --with-system-zlib --with-newlib --enable-languages=c,c++,fortran --disable-nls --enable-version-specific-runtime-libs --disable-libssp --program-prefix=spu- --target=spu
Thread model: single
gcc version 4.1.1

Code:
[melon@bifrost spu]$ make
spu-gcc -DUNROLL_SHA256 -Dinline="inline __attribute__((always_inline))" -O3 -fno-strict-aliasing -funroll-loops -mno-safe-hints -Wall -Werror    -c -o sha256.o sha256.c
cc1: warnings being treated as errors
sha256.c: In function 'vec_SHR':
sha256.c:61: warning: implicit declaration of function 'spu_sr'
sha256.c:61: error: incompatible types in return
sha256.c:62: warning: control reaches end of non-void function
make: *** [sha256.o] Error 1

Code:
[melon@bifrost ppu]$ make
Makefile:51: depend.auto: No such file or directory
gcc -DUNROLL_SHA256 -Dinline="inline __attribute__((always_inline))" -O3 -fno-strict-aliasing -funroll-loops -mcpu=cell  -Wall -Werror    -c -o worker.o worker.c
gcc -DUNROLL_SHA256 -Dinline="inline __attribute__((always_inline))" -O3 -fno-strict-aliasing -funroll-loops -mcpu=cell  -Wall -Werror    -c -o sha256.o sha256.c
sha256.c:21:24: error: vec_types.h: No such file or directory
sha256.c:60: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_SHR’
sha256.c:72: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_ROTR’
sha256.c:84: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_Ch’
sha256.c:96: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_Maj’
sha256.c:108: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_Sigma0’
sha256.c:122: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_Sigma1’
sha256.c:136: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_sigma0’
sha256.c:150: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vec_sigma1’
sha256.c:325: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘GENBX’
sha256.c: In function ‘sha256_search’:
sha256.c:344: error: ‘vec_uint4’ undeclared (first use in this function)
sha256.c:344: error: (Each undeclared identifier is reported only once
sha256.c:344: error: for each function it appears in.)
sha256.c:344: error: expected ‘;’ before ‘W0’
sha256.c:345: error: expected ‘;’ before ‘W’
sha256.c:346: error: expected ‘;’ before ‘borrow’
sha256.c:347: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘reverse_endian’
sha256.c:347: error: ‘reverse_endian’ undeclared (first use in this function)
sha256.c:347: error: expected expression before ‘{’ token
sha256.c:356: error: ‘a’ undeclared (first use in this function)
cc1: warnings being treated as errors
sha256.c:356: error: implicit declaration of function ‘vec_splats’
sha256.c:357: error: ‘b’ undeclared (first use in this function)
sha256.c:358: error: ‘c’ undeclared (first use in this function)
sha256.c:359: error: ‘d’ undeclared (first use in this function)
sha256.c:360: error: ‘e’ undeclared (first use in this function)
sha256.c:361: error: ‘f’ undeclared (first use in this function)
sha256.c:362: error: ‘g’ undeclared (first use in this function)
sha256.c:363: error: ‘h’ undeclared (first use in this function)
sha256.c:366: error: ‘W’ undeclared (first use in this function)
sha256.c:366: error: ‘T1’ undeclared (first use in this function)
sha256.c:366: error: implicit declaration of function ‘vec_Sigma1’
sha256.c:366: error: implicit declaration of function ‘vec_Ch’
sha256.c:366: error: ‘T2’ undeclared (first use in this function)
sha256.c:366: error: implicit declaration of function ‘vec_Sigma0’
sha256.c:366: error: implicit declaration of function ‘vec_Maj’
sha256.c:366: error: invalid parameter combination for AltiVec intrinsic
sha256.c:367: error: invalid parameter combination for AltiVec intrinsic
sha256.c:368: error: invalid parameter combination for AltiVec intrinsic
sha256.c:376: error: ‘W0’ undeclared (first use in this function)
sha256.c:380: error: ‘a0’ undeclared (first use in this function)
sha256.c:381: error: ‘b0’ undeclared (first use in this function)
sha256.c:382: error: ‘c0’ undeclared (first use in this function)
sha256.c:383: error: ‘d0’ undeclared (first use in this function)
sha256.c:384: error: ‘e0’ undeclared (first use in this function)
sha256.c:385: error: ‘f0’ undeclared (first use in this function)
sha256.c:386: error: ‘g0’ undeclared (first use in this function)
sha256.c:387: error: ‘h0’ undeclared (first use in this function)
sha256.c:406: error: expected ‘;’ before ‘{’ token
sha256.c:407: error: invalid parameter combination for AltiVec intrinsic
sha256.c:410: error: invalid parameter combination for AltiVec intrinsic
sha256.c:411: error: invalid parameter combination for AltiVec intrinsic
sha256.c:412: error: invalid parameter combination for AltiVec intrinsic
sha256.c:413: error: invalid parameter combination for AltiVec intrinsic
sha256.c:415: error: invalid parameter combination for AltiVec intrinsic
sha256.c:416: error: invalid parameter combination for AltiVec intrinsic
sha256.c:417: error: invalid parameter combination for AltiVec intrinsic
sha256.c:418: error: invalid parameter combination for AltiVec intrinsic
sha256.c:419: error: invalid parameter combination for AltiVec intrinsic
sha256.c:420: error: invalid parameter combination for AltiVec intrinsic
sha256.c:421: error: invalid parameter combination for AltiVec intrinsic
sha256.c:422: error: invalid parameter combination for AltiVec intrinsic
sha256.c:431: error: implicit declaration of function ‘vec_sigma1’
sha256.c:431: error: implicit declaration of function ‘vec_sigma0’
sha256.c:431: error: invalid parameter combination for AltiVec intrinsic
sha256.c:432: error: invalid parameter combination for AltiVec intrinsic
sha256.c:433: error: invalid parameter combination for AltiVec intrinsic
sha256.c:434: error: invalid parameter combination for AltiVec intrinsic
sha256.c:435: error: invalid parameter combination for AltiVec intrinsic
sha256.c:436: error: invalid parameter combination for AltiVec intrinsic
sha256.c:437: error: invalid parameter combination for AltiVec intrinsic
sha256.c:438: error: invalid parameter combination for AltiVec intrinsic
sha256.c:440: error: invalid parameter combination for AltiVec intrinsic
sha256.c:441: error: invalid parameter combination for AltiVec intrinsic
sha256.c:442: error: invalid parameter combination for AltiVec intrinsic
sha256.c:443: error: invalid parameter combination for AltiVec intrinsic
sha256.c:444: error: invalid parameter combination for AltiVec intrinsic
sha256.c:445: error: invalid parameter combination for AltiVec intrinsic
sha256.c:446: error: invalid parameter combination for AltiVec intrinsic
sha256.c:447: error: invalid parameter combination for AltiVec intrinsic
sha256.c:449: error: invalid parameter combination for AltiVec intrinsic
sha256.c:450: error: invalid parameter combination for AltiVec intrinsic
sha256.c:451: error: invalid parameter combination for AltiVec intrinsic
sha256.c:452: error: invalid parameter combination for AltiVec intrinsic
sha256.c:453: error: invalid parameter combination for AltiVec intrinsic
sha256.c:454: error: invalid parameter combination for AltiVec intrinsic
sha256.c:455: error: invalid parameter combination for AltiVec intrinsic
sha256.c:456: error: invalid parameter combination for AltiVec intrinsic
sha256.c:458: error: invalid parameter combination for AltiVec intrinsic
sha256.c:459: error: invalid parameter combination for AltiVec intrinsic
sha256.c:460: error: invalid parameter combination for AltiVec intrinsic
sha256.c:461: error: invalid parameter combination for AltiVec intrinsic
sha256.c:462: error: invalid parameter combination for AltiVec intrinsic
sha256.c:463: error: invalid parameter combination for AltiVec intrinsic
sha256.c:464: error: invalid parameter combination for AltiVec intrinsic
sha256.c:465: error: invalid parameter combination for AltiVec intrinsic
sha256.c:467: error: invalid parameter combination for AltiVec intrinsic
sha256.c:468: error: invalid parameter combination for AltiVec intrinsic
sha256.c:469: error: invalid parameter combination for AltiVec intrinsic
sha256.c:470: error: invalid parameter combination for AltiVec intrinsic
sha256.c:471: error: invalid parameter combination for AltiVec intrinsic
sha256.c:472: error: invalid parameter combination for AltiVec intrinsic
sha256.c:473: error: invalid parameter combination for AltiVec intrinsic
sha256.c:474: error: invalid parameter combination for AltiVec intrinsic
sha256.c:476: error: invalid parameter combination for AltiVec intrinsic
sha256.c:477: error: invalid parameter combination for AltiVec intrinsic
sha256.c:478: error: invalid parameter combination for AltiVec intrinsic
sha256.c:479: error: invalid parameter combination for AltiVec intrinsic
sha256.c:480: error: invalid parameter combination for AltiVec intrinsic
sha256.c:481: error: invalid parameter combination for AltiVec intrinsic
sha256.c:482: error: invalid parameter combination for AltiVec intrinsic
sha256.c:483: error: invalid parameter combination for AltiVec intrinsic
sha256.c:511: error: invalid parameter combination for AltiVec intrinsic
sha256.c:512: error: invalid parameter combination for AltiVec intrinsic
sha256.c:513: error: invalid parameter combination for AltiVec intrinsic
sha256.c:514: error: invalid parameter combination for AltiVec intrinsic
sha256.c:515: error: invalid parameter combination for AltiVec intrinsic
sha256.c:516: error: invalid parameter combination for AltiVec intrinsic
sha256.c:517: error: invalid parameter combination for AltiVec intrinsic
sha256.c:518: error: invalid parameter combination for AltiVec intrinsic
sha256.c:520: error: invalid parameter combination for AltiVec intrinsic
sha256.c:523: error: invalid parameter combination for AltiVec intrinsic
sha256.c:524: error: invalid parameter combination for AltiVec intrinsic
sha256.c:525: error: invalid parameter combination for AltiVec intrinsic
sha256.c:526: error: invalid parameter combination for AltiVec intrinsic
sha256.c:527: error: invalid parameter combination for AltiVec intrinsic
sha256.c:528: error: invalid parameter combination for AltiVec intrinsic
sha256.c:536: error: invalid parameter combination for AltiVec intrinsic
sha256.c:539: error: invalid parameter combination for AltiVec intrinsic
sha256.c:540: error: invalid parameter combination for AltiVec intrinsic
sha256.c:541: error: invalid parameter combination for AltiVec intrinsic
sha256.c:542: error: invalid parameter combination for AltiVec intrinsic
sha256.c:543: error: invalid parameter combination for AltiVec intrinsic
sha256.c:544: error: invalid parameter combination for AltiVec intrinsic
sha256.c:545: error: invalid parameter combination for AltiVec intrinsic
sha256.c:546: error: invalid parameter combination for AltiVec intrinsic
sha256.c:548: error: invalid parameter combination for AltiVec intrinsic
sha256.c:549: error: invalid parameter combination for AltiVec intrinsic
sha256.c:550: error: invalid parameter combination for AltiVec intrinsic
sha256.c:551: error: invalid parameter combination for AltiVec intrinsic
sha256.c:552: error: invalid parameter combination for AltiVec intrinsic
sha256.c:553: error: invalid parameter combination for AltiVec intrinsic
sha256.c:554: error: invalid parameter combination for AltiVec intrinsic
sha256.c:555: error: invalid parameter combination for AltiVec intrinsic
sha256.c:557: error: invalid parameter combination for AltiVec intrinsic
sha256.c:558: error: invalid parameter combination for AltiVec intrinsic
sha256.c:559: error: invalid parameter combination for AltiVec intrinsic
sha256.c:560: error: invalid parameter combination for AltiVec intrinsic
sha256.c:561: error: invalid parameter combination for AltiVec intrinsic
sha256.c:562: error: invalid parameter combination for AltiVec intrinsic
sha256.c:563: error: invalid parameter combination for AltiVec intrinsic
sha256.c:564: error: invalid parameter combination for AltiVec intrinsic
sha256.c:566: error: invalid parameter combination for AltiVec intrinsic
sha256.c:567: error: invalid parameter combination for AltiVec intrinsic
sha256.c:568: error: invalid parameter combination for AltiVec intrinsic
sha256.c:569: error: invalid parameter combination for AltiVec intrinsic
sha256.c:570: error: invalid parameter combination for AltiVec intrinsic
sha256.c:571: error: invalid parameter combination for AltiVec intrinsic
sha256.c:572: error: invalid parameter combination for AltiVec intrinsic
sha256.c:573: error: invalid parameter combination for AltiVec intrinsic
sha256.c:575: error: invalid parameter combination for AltiVec intrinsic
sha256.c:576: error: invalid parameter combination for AltiVec intrinsic
sha256.c:577: error: invalid parameter combination for AltiVec intrinsic
sha256.c:578: error: invalid parameter combination for AltiVec intrinsic
sha256.c:579: error: invalid parameter combination for AltiVec intrinsic
sha256.c:580: error: invalid parameter combination for AltiVec intrinsic
sha256.c:581: error: invalid parameter combination for AltiVec intrinsic
sha256.c:582: error: invalid parameter combination for AltiVec intrinsic
sha256.c:584: error: invalid parameter combination for AltiVec intrinsic
sha256.c:585: error: invalid parameter combination for AltiVec intrinsic
sha256.c:586: error: invalid parameter combination for AltiVec intrinsic
sha256.c:587: error: invalid parameter combination for AltiVec intrinsic
sha256.c:607: error: invalid parameter combination for AltiVec intrinsic
sha256.c:610: error: invalid parameter combination for AltiVec intrinsic
sha256.c:611: error: invalid parameter combination for AltiVec intrinsic
sha256.c:612: error: invalid parameter combination for AltiVec intrinsic
sha256.c:631: error: ‘borrow’ undeclared (first use in this function)
sha256.c:633: error: implicit declaration of function ‘GENBX’
sha256.c:653: error: implicit declaration of function ‘vec_extract’
make: *** [sha256.o] Error 1


3.15 OFW
Linux bifrost 2.6.39.2-ps3 ppc64  (Fedora Core 9)
I have IBM's SDK installed/OpenCL
Hebination
Newbie
*
Offline Offline

Activity: 16


View Profile
July 05, 2011, 09:46:55 PM
 #12

It looks like your using an older version of GCC, I would try upgrading that to at least 4.4.
earthmeLon
Newbie
*
Offline Offline

Activity: 11


View Profile
July 05, 2011, 09:51:13 PM
 #13

It looks like your using an older version of GCC, I would try upgrading that to at least 4.4.

Alright, I am grabbing http://mirrors-us.seosue.com/gcc/releases/gcc-4.6.1/gcc-4.6.1.tar.bz2 and will report back in a little bit.
Pages: [1]
  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!