Author

Topic: bitcoind not working on SPARC (and PPC) (Read 3160 times)

legendary
Activity: 1072
Merit: 1181
July 15, 2011, 07:31:54 AM
#8
Not a bug so much as a design decision. The Satoshi Bitcoin implementation does not work on big endian architectures and likely never will.

If you want to be a BE Bitcoiner, your best bet is to use one of the other implementations like BitCoinJ or BitCoinJS.

I'm not that sure the codes relies on LE that often. The serialization routines for integers, uint160, uint256, and the fact that pointers to those structures are passed directly to hashing routines, would need to be adapted. That does seem reasonable (though not high priority) to change, unless there is a ton i'm forgetting now.
member
Activity: 66
Merit: 10
July 15, 2011, 06:12:25 AM
#7
Not a bug so much as a design decision. The Satoshi Bitcoin implementation does not work on big endian architectures and likely never will.

If you want to be a BE Bitcoiner, your best bet is to use one of the other implementations like BitCoinJ or BitCoinJS.

Does BitCoinJ ready for production use on pool servers? Or only way is use dedicated x86 server for bitcoind?
legendary
Activity: 1526
Merit: 1134
July 15, 2011, 06:08:00 AM
#6
Not a bug so much as a design decision. The Satoshi Bitcoin implementation does not work on big endian architectures and likely never will.

If you want to be a BE Bitcoiner, your best bet is to use one of the other implementations like BitCoinJ or BitCoinJS.
member
Activity: 66
Merit: 10
July 15, 2011, 05:47:59 AM
#5
had the same problem with powerpc, what worked for me was to accept it and switch to intel.
and it's not solution, it's dirty lifehack =)
hero member
Activity: 504
Merit: 504
PGP OTC WOT: EB7FCE3D
July 15, 2011, 05:02:03 AM
#4
had the same problem with powerpc, what worked for me was to accept it and switch to intel.
member
Activity: 66
Merit: 10
July 15, 2011, 01:25:55 AM
#3
Any idea how fix it on non x86 platforms?
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
July 14, 2011, 05:24:01 PM
#2
Sounds like an endianness bug.
member
Activity: 66
Merit: 10
July 14, 2011, 04:07:23 PM
#1
Hello all!

I build bitcoind from last stable source (0.3.24). But it's not work. After i try run bitcoind i get:
Code:
bitcoind: main.cpp:1546: bool LoadBlockIndex(bool): Assertion `block.hashMerkleRoot == uint256("0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b")' failed.
Aborted

Does anybody has solution for this bug?

Platform info:
Code:
# cat /proc/cpuinfo | head -7
cpu : UltraSparc T1 (Niagara)
fpu : UltraSparc T1 integrated FPU
pmu : niagara
prom : OBP 4.30.3 2009/06/08 13:27
type : sun4v
ncpus probed : 24
ncpus active : 24
# uname -a
Linux mikuru 2.6.32-5-sparc64-smp #1 SMP Wed Jan 12 05:23:55 UTC 2011 sparc64 GNU/Linux
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.2 (squeeze)
Release: 6.0.2
Codename: squeeze
# gcc -v
Using built-in specs.
Target: sparc-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --with-long-double-128 --enable-checking=release --build=sparc-linux-gnu --host=sparc-linux-gnu --target=sparc-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8)
Jump to: