Bitcoin Forum
March 19, 2024, 02:30:04 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: different architectures  (Read 10190 times)
falkenberg (OP)
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
July 26, 2010, 09: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,
1710815404
Hero Member
*
Offline Offline

Posts: 1710815404

View Profile Personal Message (Offline)

Ignore
1710815404
Reply with quote  #2

1710815404
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1710815404
Hero Member
*
Offline Offline

Posts: 1710815404

View Profile Personal Message (Offline)

Ignore
1710815404
Reply with quote  #2

1710815404
Report to moderator
1710815404
Hero Member
*
Offline Offline

Posts: 1710815404

View Profile Personal Message (Offline)

Ignore
1710815404
Reply with quote  #2

1710815404
Report to moderator
1710815404
Hero Member
*
Offline Offline

Posts: 1710815404

View Profile Personal Message (Offline)

Ignore
1710815404
Reply with quote  #2

1710815404
Report to moderator
falkenberg (OP)
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
July 26, 2010, 10:01:41 PM
Last edit: July 26, 2010, 10:45:24 PM by falkenberg
 #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
laszlo
Full Member
***
Offline Offline

Activity: 199
Merit: 2072


View Profile
July 28, 2010, 12:40:08 PM
 #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.

BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
July 28, 2010, 03:41:10 PM
 #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

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
falkenberg (OP)
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
July 28, 2010, 07: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.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!