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.
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
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