Bitcoin Forum

Other => Beginners & Help => Topic started by: sbr2004 on June 20, 2011, 06:27:07 AM



Title: Compile error on PS3
Post by: sbr2004 on June 20, 2011, 06:27:07 AM
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


Title: Re: Compile error on PS3
Post by: SomeoneWeird on June 20, 2011, 06:31:08 AM

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.


Title: Re: Compile error on PS3
Post by: sbr2004 on June 20, 2011, 06:55:55 AM
for fun :)


Title: Re: Compile error on PS3
Post by: verement on June 22, 2011, 03:22:26 AM
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.


Title: Re: Compile error on PS3
Post by: sbr2004 on June 29, 2011, 07:32:01 AM
> 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.



Title: Re: Compile error on PS3
Post by: Etlase2 on June 29, 2011, 07:40:16 AM
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.


Title: Re: Compile error on PS3
Post by: sbr2004 on June 29, 2011, 08:16:38 AM

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



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.


Title: Re: Compile error on PS3
Post by: earthmeLon on July 05, 2011, 09:29:32 PM
Was a solution found to this make error?



Title: Re: Compile error on PS3
Post by: Hebination on July 05, 2011, 09:34:06 PM
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.


Title: Re: Compile error on PS3
Post by: Hebination on July 05, 2011, 09:37:46 PM
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.


Title: Re: Compile error on PS3
Post by: earthmeLon on July 05, 2011, 09:40:06 PM
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


Title: Re: Compile error on PS3
Post by: Hebination on July 05, 2011, 09:46:55 PM
It looks like your using an older version of GCC, I would try upgrading that to at least 4.4.


Title: Re: Compile error on PS3
Post by: earthmeLon on July 05, 2011, 09:51:13 PM
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.