xf2_org
Member
Offline
Activity: 98
Merit: 13
|
|
May 10, 2011, 03:22:09 PM |
|
sha256_4way.c:51: sorry, unimplemented: inlining failed in call to ‘ROTR’: function body not available sha256_4way.c:458: sorry, unimplemented: called from here sha256_4way.c:51: sorry, unimplemented: inlining failed in call to ‘ROTR’: function body not available
Use a newer compiler.
|
|
|
|
xf2_org
Member
Offline
Activity: 98
Merit: 13
|
|
May 10, 2011, 03:22:46 PM |
|
anyway to support sse2 on ubuntu ?
Do you mean 4way or sse2_64 algorithm? sse2_64 requires yasm, and a 64-bit machine.
|
|
|
|
Spoddy
Newbie
Offline
Activity: 2
Merit: 0
|
|
May 10, 2011, 06:36:04 PM |
|
Thanks xf2_org, I'm now up to gcc 4.3.3 gcc -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) but now I get make make all-recursive make[1]: Entering directory `/home/spoddy/cpuminer-1.0' Making all in compat make[2]: Entering directory `/home/spoddy/cpuminer-1.0/compat' Making all in jansson make[3]: Entering directory `/home/spoddy/cpuminer-1.0/compat/jansson' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/home/spoddy/cpuminer-1.0/compat/jansson' make[3]: Entering directory `/home/spoddy/cpuminer-1.0/compat' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/home/spoddy/cpuminer-1.0/compat' make[2]: Leaving directory `/home/spoddy/cpuminer-1.0/compat' make[2]: Entering directory `/home/spoddy/cpuminer-1.0' gcc -O3 -Wall -msse2 -pthread -o minerd cpu-miner.o util.o sha256_generic.o sha256_4way.o sha256_via.o sha256_cryptopp.o sha256_sse2_amd64.o -lcurl -Wl,-Bsymbolic-functions -lgssapi_krb5 compat/jansson/libjansson.a -lpthread cpu-miner.o: In function `miner_thread': cpu-miner.c:(.text+0xb2e): undefined reference to `ScanHash_4WaySSE2' collect2: ld returned 1 exit status make[2]: *** [minerd] Error 1 make[2]: Leaving directory `/home/spoddy/cpuminer-1.0' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/spoddy/cpuminer-1.0' make: *** [all] Error 2
Is this still a gcc version issue? And what version have others managed to compile on? Thanks
|
|
|
|
metonymous
Newbie
Offline
Activity: 29
Merit: 0
|
|
May 10, 2011, 06:49:08 PM |
|
|
|
|
|
ancow
|
|
May 11, 2011, 08:26:42 AM |
|
sha256_4way.c:51: sorry, unimplemented: inlining failed in call to ‘ROTR’: function body not available sha256_4way.c:458: sorry, unimplemented: called from here sha256_4way.c:51: sorry, unimplemented: inlining failed in call to ‘ROTR’: function body not available
Use a newer compiler. Shouldn't the configure script be checking for that, then?
|
BTC: 1GAHTMdBN4Yw3PU66sAmUBKSXy2qaq2SF4
|
|
|
Tarion
Member
Offline
Activity: 224
Merit: 12
|
|
May 11, 2011, 11:49:55 AM |
|
root@vs1028:/home/tarion/apps/cpuminer# apt-cache show libcurl3 Package: libcurl3 Priority: optional Section: libs Installed-Size: 444 Maintainer: Domenico Andreoli <cavok@debian.org> Architecture: i386 Source: curl Version: 7.18.2-8lenny4 But configure gives me: checking whether libcurl is usable... no configure: error: Missing required libcurl >= 7.10.1
Any Idea what is wrong?
|
|
|
|
Tarion
Member
Offline
Activity: 224
Merit: 12
|
|
May 11, 2011, 11:58:08 AM |
|
Found it on another page in this thread: sudo apt-get install libcurl4-openssl-dev Works!
|
|
|
|
tuxsoul
Newbie
Offline
Activity: 40
Merit: 0
|
|
May 12, 2011, 02:23:07 AM |
|
Hi, I like to give some news about the not oficial debian/ubuntu package of bitcoin-cpuminer: * You can find the version 0.8.1 in ubuntu and debian, only in ubuntu (maverick, natty, oneiric) have SSE2_64 enable. * If not exist any issue in the last version 1.0, i will create a package in a couple days. * If possible this package get in the next ubuntu release, please check: https://bugs.launchpad.net/ubuntu/+bug/780258, give you comment's or any feedback. * @jgarzik: In ubuntu revu get this comment http://revu.ubuntuwire.com/p/bitcoin-cpuminer@sikon: I’m not sure about the binary name "minerd". It sounds too generic, not specific to BitCoin. Could it be renamed? what you think @jgarzik ? read more ... http://bitcointalk.org/index.php?topic=2207.msg115320#msg115320
|
|
|
|
xf2_org
Member
Offline
Activity: 98
Merit: 13
|
|
May 12, 2011, 04:39:15 AM |
|
@sikon: I’m not sure about the binary name "minerd". It sounds too generic, not specific to BitCoin. Could it be renamed? A rename will only be considered if a conflict exists with an existing, real-world program. Otherwise, you're already looking at a program that's seen six months of heavy use on Windows and Linux, using the "minerd" name. A rename would create pointless churn, with zero value for existing cpuminer users.
|
|
|
|
edanite
Newbie
Offline
Activity: 2
Merit: 0
|
|
May 13, 2011, 08:53:18 PM |
|
I got Mach-O x86_64 SSE2 to work (Mac OS 10.6.7). Here's the list of everything I did:
1. I got the file libcurl.m4 from a curl source tarball and stuck it in an m4 directory.
2. I installed the gnulib byteswap module into the cpuminer directory and updated build scripts as necessary.
3. When configuring, I had to use both "-arch x86_64" in CFLAGS and the '--build=x86_64-apple-darwin10.7.0' flag, since it seems to detect that my kernel is 32 bit rather than that my processor is 64 bit.
4. To assemble sha256_xmm_amd64.asm, I set "-f macho64" in the Makefile (todo: integrate this into configure)
5. To fix the assembly failures, I applied the patch here: <https://gist.github.com/971291>.
It fixes the 32-bit offset by using another register to hold the current target, which is then used directly and updated as necessary. This adds one extra line of assembly (I'm not sufficiently familiar with x86_64 assembly to know whether or not it actually adds an extra _instruction_, but it probably does) to the main loop as well as a push and a pop to save and restore the values of the register I used (r8). The assembly already uses r10 without doing a save and restore, but I'm not sure how to check that r8 is unused, so this might be unnecessary. It also fixes a problem where my gcc apparently adds leading underscores to all of the names.
This is the least clean section because it probably breaks the build on Linux. Nobody said assembly was supposed to be portable...
|
|
|
|
chromicant
Newbie
Offline
Activity: 40
Merit: 0
|
|
May 13, 2011, 10:16:23 PM |
|
Sorry I've missed most of the recent discussion...busy with a new addition...
The r10 "trick" of letting it get clobbered requires you know something about the calling convention of the OS in use. The Linux SSE2 code for x86_64 will completely break on Windows, since there's a different set of registers saved between function calls. Depending on what OSX does with r8, you may be able to let it get clobbered, saving you a cycle or two.
I never really found any docs on how the calling convention works under Darwin/Mac OSX. I'm sure reading the GCC source code would enlighten someone. But I also like my sanity.
|
|
|
|
gkolt
Newbie
Offline
Activity: 14
Merit: 0
|
|
May 14, 2011, 06:39:51 PM Last edit: May 14, 2011, 07:11:25 PM by gkolt |
|
I have a bitcoind server running and accepting connections aswell (rpcallowip=*).
I have tried to run minerd connecting to my bitcoind server, but all I got is:
# ./minerd -c miner.cfg [2011-05-14 20:24:41] 8 miner threads started, using SHA256 'sse2_64' algorithm. [2011-05-14 20:33:41] PROOF OF WORK RESULT: false (booooo) [2011-05-14 20:34:16] PROOF OF WORK RESULT: false (booooo)
Also, the hash meter on the other side (bitcoind) did not increase at all. Shouldn't the bitcoind (server) hash meter increase aswell ?
Am I missing something ? Am I 'pooling' wrong ? I'm running openSUSE 11.3, kernel 2.6.34.8-0.2, i7 930.
Thanks in advance.
|
|
|
|
xf2_org
Member
Offline
Activity: 98
Merit: 13
|
|
May 15, 2011, 02:57:30 AM |
|
Version 1.0.1 is released.
The only change is the addition of OSX build support. FreeBSD is also reported to be working out of the box.
There is no Windows build for this release (no need).
|
|
|
|
Amelios
Newbie
Offline
Activity: 3
Merit: 0
|
|
May 15, 2011, 04:37:47 PM |
|
I'm still getting this when trying to compile 1.0.1 on OSX: ld: warning: in x86_64/libx8664.a, file was built for unsupported file format which is not the architecture being linked (x86_64) Undefined symbols: "_CalcSha256_x64", referenced from: _scanhash_sse2_64 in sha256_sse2_amd64.o _scanhash_sse2_64 in sha256_sse2_amd64.o ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [minerd] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
|
|
|
|
General-Beck
Jr. Member
Offline
Activity: 56
Merit: 1
|
|
May 15, 2011, 09:06:51 PM |
|
Ubuntu 11.04 Natty AMD64 make problems general-beck@gblive:/userdata/Bitcoin/cpuminer-1.0.1$ CFLAGS="-O3 -Wall -msse2" ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking whether gcc needs -traditional... no checking whether gcc and cc understand -c and -o together... yes checking for ranlib... ranlib checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking syslog.h usability... yes checking syslog.h presence... yes checking for syslog.h... yes checking for working alloca.h... yes checking for alloca... yes checking for json_loads in -ljansson... yes checking for pthread_create in -lpthread... yes checking for yasm... /usr/bin/yasm checking if yasm version is greater than 1.0.1... yes checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for gawk... (cached) gawk checking for curl-config... /usr/bin/curl-config checking for the version of libcurl... 7.21.3 checking for libcurl >= version 7.10.1... yes checking whether libcurl is usable... yes checking for curl_free... yes configure: creating ./config.status config.status: creating Makefile config.status: creating compat/Makefile config.status: creating compat/jansson/Makefile config.status: creating x86_64/Makefile config.status: creating cpuminer-config.h config.status: cpuminer-config.h is unchanged config.status: executing depfiles commands general-beck@gblive:/userdata/Bitcoin/cpuminer-1.0.1$ make make all-recursive make[1]: Bxoд в кaтaлoг `/userdata/Bitcoin/cpuminer-1.0.1' Making all in compat make[2]: Bxoд в кaтaлoг `/userdata/Bitcoin/cpuminer-1.0.1/compat' make[3]: Bxoд в кaтaлoг `/userdata/Bitcoin/cpuminer-1.0.1/compat' make[3]: Цeль `all-am' нe тpeбyeт выпoлнeния кoмaнд. make[3]: Bыxoд из кaтaлoгa `/userdata/Bitcoin/cpuminer-1.0.1/compat' make[2]: Bыxoд из кaтaлoгa `/userdata/Bitcoin/cpuminer-1.0.1/compat' Making all in x86_64 make[2]: Bxoд в кaтaлoг `/userdata/Bitcoin/cpuminer-1.0.1/x86_64' make[2]: Цeль `all' нe тpeбyeт выпoлнeния кoмaнд. make[2]: Bыxoд из кaтaлoгa `/userdata/Bitcoin/cpuminer-1.0.1/x86_64' make[2]: Bxoд в кaтaлoг `/userdata/Bitcoin/cpuminer-1.0.1' gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -DHAS_YASM -O3 -Wall -msse2 -MT cpu-miner.o -MD -MP -MF .deps/cpu-miner.Tpo -c -o cpu-miner.o cpu-miner.c cpu-miner.c: In function ‘parse_arg’: cpu-miner.c:736:3: warning: passing argument 2 of ‘json_load_file’ makes integer from pointer without a cast /usr/include/jansson.h:221:9: note: expected ‘size_t’ but argument is of type ‘struct json_error_t *’ cpu-miner.c:736:3: error: too few arguments to function ‘json_load_file’ /usr/include/jansson.h:221:9: note: declared here make[2]: *** [cpu-miner.o] Oшибкa 1 make[2]: Bыxoд из кaтaлoгa `/userdata/Bitcoin/cpuminer-1.0.1' make[1]: *** [all-recursive] Oшибкa 1 make[1]: Bыxoд из кaтaлoгa `/userdata/Bitcoin/cpuminer-1.0.1' make: *** [all] Oшибкa 2
|
|
|
|
xf2_org
Member
Offline
Activity: 98
Merit: 13
|
|
May 15, 2011, 10:00:03 PM |
|
I'm still getting this when trying to compile 1.0.1 on OSX:
Avoid yasm.
|
|
|
|
xf2_org
Member
Offline
Activity: 98
Merit: 13
|
|
May 15, 2011, 10:00:26 PM |
|
Ubuntu 11.04 Natty AMD64 make problems
Use jansson that ships with cpuminer.
|
|
|
|
Amelios
Newbie
Offline
Activity: 3
Merit: 0
|
|
May 15, 2011, 11:58:34 PM |
|
I'm still getting this when trying to compile 1.0.1 on OSX:
Avoid yasm. Recommendations on what to use instead?
|
|
|
|
xf2_org
Member
Offline
Activity: 98
Merit: 13
|
|
May 16, 2011, 12:30:00 AM |
|
I'm still getting this when trying to compile 1.0.1 on OSX:
Avoid yasm. Recommendations on what to use instead? There is no alternative. It does not work for cpuminer on OSX.
|
|
|
|
Amelios
Newbie
Offline
Activity: 3
Merit: 0
|
|
May 16, 2011, 12:37:54 AM |
|
I'm still getting this when trying to compile 1.0.1 on OSX:
Avoid yasm. Recommendations on what to use instead? There is no alternative. It does not work for cpuminer on OSX. So there's no way to use cpuminer on OSX, then? I was a little thrown off by the OSX build support message...
|
|
|
|
|