Author

Topic: different architectures (Read 10218 times)

member
Activity: 84
Merit: 10
July 28, 2010, 02:50:38 PM
#5
It's probably not worth it for the mediocre hashing performance you would get from a sparc.. it looked like a lot of work when I tried to do it for PPC.
Did you succeed? I've got 124 sparc core available to try Wink If you have working code for PPC it must be very easy to port it to Sparc Solaris.
legendary
Activity: 1596
Merit: 1100
July 28, 2010, 10:41:10 AM
#4
All of the actual network protocol messages will have to have the values byte swapped where appropriate and the number handling functions, etc.  It's probably not worth it for the mediocre hashing performance you would get from a sparc.. it looked like a lot of work when I tried to do it for PPC.

I bet a 32-core Niagara would work nicely...  not all Sparcs suck Smiley
full member
Activity: 199
Merit: 2385
July 28, 2010, 07:40:08 AM
#3
All of the actual network protocol messages will have to have the values byte swapped where appropriate and the number handling functions, etc.  It's probably not worth it for the mediocre hashing performance you would get from a sparc.. it looked like a lot of work when I tried to do it for PPC.
member
Activity: 84
Merit: 10
July 26, 2010, 05:01:41 PM
#2
Spending an enormous amount of time I managed to build bitcoind for Sparc Solaris10. I had to modify the source code in many places, but finally I got the binary. Unfortunataly, having the binary was not enough. It did not start.

I did not modify any logic in the code, just rearrange it a bit and solved syntactical problems with namespaces and #includes . The only *real* problem was the getifaddrs() function used in the code. I guess it's the guilty part.
The Solaris does not have it. I substitute it with the hack I found in Internet (http://markmail.org/message/t74kvl63savhzrzp) and managed to get the binary. When I start it I got the same output as on x86 systems, but then could not connect to the process. ps shows the process is not there, so it dies. I suspect the code I got from outer source.

If you have an idea what can I do with this function on Solaris, please let me know. I would like to try. The rest of the code is almost untouched except many cosmetic surgery, so this is the only possible source for the problem I guess.


Regards,

PS. Probably wrong section. Shall go to "Development & Technical Discussion" I guess

PPS. Looks like the problems are much more serious. The outer code was not invoked even. The initial log file is generated before the program dies with core dump. In log file I see this:
Bitcoin version 0.3.2 beta, OS version SunOS 5.10 sun4v
System default language is 58 en_US.UTF-8
Language file locale/en_US/LC_MESSAGES/bitcoin.mo (English (U.S.))
Default data directory /export/home/dvasunin/.bitcoin
Bound to port 36128
Loading addresses...
dbenv.open strLogDir=/export/home/dvasunin/.bitcoin/database strErrorFile=/export/home/dvasunin/.bitcoin/db.log

The port it binds to is wrong. Looks like BIG-ENDIAN problem
member
Activity: 84
Merit: 10
July 26, 2010, 04:42:39 AM
#1
Dear developers,
I wonder if there is a way to build the bitcoind on other then x86 platforms, i.e. Sparc Solaris?  Is it portable software or intended for Linux only (I mean the version for "unixes")?
I saw you use getifaddrs() function and ifaddrs.h header, which is not presented on all unixes. Are there anything else specific for Linux?

Regards,
Jump to: