Can't Build r80 from SVN

2010 Jun 5 See all posts
Can't Build r80 from SVN @ Satoshi Nakamoto
Author

Satoshi Nakamoto

Email

Site

https://satoshinakamoto.network

lachesis
Can't Build r80 from SVN
June 05, 2010, 01:03:34 AM

I can't build r80 from the SVN with -O2 in the makefile. I'm running Ubuntu 10.04 LTS 64-bit on an Intel Core 2. If I remove -O2 (switch back to -O0), it builds fine.

The problem seems to be line 15 of net.h. My googling suggests that statement-expressions, some non-standard, GCC-only extension to C++, are not allowed outside of functions at that level of optimization. htons is implemented as a statement-expression for linux. I managed to get it to build by replacing the htos(8333) with 0x8D20, which is 8333 in network byte order. This compiles and runs fine on my Intel processor, but probably wouldn't work on a big endian processor like a PowerPC.

Is anybody else experiencing this bug?

Also, I'm somewhat disappointed. -O2 didn't help me generate hashes any faster. Perhaps I'll try -O3.


laszlo
June 05, 2010, 03:12:48 AM

You did the right thing.. none of it works on big endian anyway.


D҉ataWraith
June 05, 2010, 04:36:11 PM

Quote from: lachesis on June 05, 2010, 01:03:34 AM

Is anybody else experiencing this bug?

Also, I'm somewhat disappointed. -O2 didn't help me generate hashes any faster. Perhaps I'll try -O3.

Yeah, I had the same problem.

BtW: If you look at the makefile, sha.{h,cpp} are already compiled -O3; using a higher optimization level for the remainder of the program is probably not going to help much.


laszlo
June 05, 2010, 06:32:13 PM

-O2 is generally the preferred optimization for gcc, -O3 can produce larger code which is slower, but you should experiment around with it.. it also seems to depend on the time of day or the phases of the moon for me at least, some days I'm getting a lot more hashes per second.


Xunie
June 05, 2010, 07:05:24 PM

Please note that revision 77 is buildable (by default) and 78 isn't I believe.

And can you next time wait for your answer in IRC?
I mean, you asked your question twice, we're just not in the room 24/7! Wink


lachesis
June 05, 2010, 07:40:54 PM

I'm not in the room 24/7 either. I decided to go off IRC and to the forums so I wouldn't need to wait around all day.

I need to learn some more C++. There are a lot of things that would improve bitcoin like encrypted wallet files, built-in performance monitoring, RPC extension, etc. Is there any system for submitting patches for inclusion in the SVN and/or default builds?

I don't mean to come accross as confrontational. I love Bitcoin and just want to help improve it.


laszlo
June 06, 2010, 06:55:31 PM

Some notes on how to build the linux client.  I used a 64 bit system but the process is almost identical for i386 linux.

http://heliacal.net/~solar/bitcoin/bitcoin-linuxbuild.pdf


lachesis
June 06, 2010, 10:57:43 PM

Quote from: laszlo on June 06, 2010, 06:55:31 PM

Some notes on how to build the linux client. I used a 64 bit system but the process is almost identical for i386 linux.

That's my process as well, although I apply a variety of patches to things before hand. And I have boost and I think libdb from Ubuntu's repos.


Satoshi Nakamoto
June 14, 2010, 10:40:14 PM

Sorry, I didn't test compile on linux the last few revisions.

Reverted makefile.unix.