Bitcoin Forum
October 06, 2024, 08:30:54 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Version 0.3.8.1 update for Linux 64-bit  (Read 10073 times)
satoshi (OP)
Founder
Sr. Member
*
Offline Offline

Activity: 364
Merit: 7065


View Profile
August 09, 2010, 07:46:58 PM
 #1

When we switched to Crypto++ 5.6.0 SHA-256 in version 0.3.6, generation got broken on the Linux 64-bit build.  Version 0.3.8.1 is on SourceForge with the 64-bit binary updated.

Download:
http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.8/bitcoin-0.3.8.1-linux.tar.gz/download

Future versions after 0.3.8 will probably require SSE2.  Anyone have Pentium 3 or older where this would be a problem?
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252
Merit: 268



View Profile WWW
August 09, 2010, 08:26:15 PM
Last edit: August 10, 2010, 04:58:29 AM by NewLibertyStandard
 #2

The difficulty has gotten high enough that I wouldn't worry about dropping block generation support for old computers if it's hard to maintain compatibility. But the client should definitely provide some feedback explaining why the feature isn't available. Perhaps you could make a message pop up that explains why generating bitcoins is not supported on old hardware.

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1099


View Profile
August 09, 2010, 08:46:14 PM
 #3


IMO, SSE should be required for generation, not simply to run the client.


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

Activity: 364
Merit: 7065


View Profile
August 09, 2010, 08:55:06 PM
 #4

That's a good point, I believe you could run with generation off if you don't have SSE2.

How about add to the top of cryptopp/config.h:

#if !defined(_M_X64) && !defined(__x86_64__)
#define CRYPTOPP_DISABLE_SSE2  1
#endif

that would disable SSE2 for 32-bit builds.  (at least with GCC or MSVC)
dkaparis
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
August 09, 2010, 08:57:02 PM
 #5

From what I understand, removing the offending define is required only for 64-bit builds and 64-bit architectures are already guaranteed to support SSE2 instructions. 32-bit builds can retain the flag and thus continue to disable SSE2 instructions and remain compatible with older computers.
dkaparis
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
August 09, 2010, 09:02:49 PM
 #6

That's a good point, I believe you could run with generation off if you don't have SSE2.

How about add to the top of cryptopp/config.h:

#if !defined(_M_X64) && !defined(__x86_64__)
#define CRYPTOPP_DISABLE_SSE2  1
#endif

that would disable SSE2 for 32-bit builds.  (at least with GCC or MSVC)

Yes, but better have that specified in the makefile. That way anyone who doesn't care for old CPU's can compile with SSE2 support by removing the flag, without fiddling with the source.

I can also add a CMake property for that in the CMake build.
knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 258



View Profile WWW
August 10, 2010, 12:02:25 AM
 #7

From what I understand, removing the offending define is required only for 64-bit builds and 64-bit architectures are already guaranteed to support SSE2 instructions. 32-bit builds can retain the flag and thus continue to disable SSE2 instructions and remain compatible with older computers.

Older CPU that don't support SSE2 shouldn't be excluded from coin generation in my opinion. They can still serve a vital role in block generation; I have many machines that don't support the SSE2 enhancements, but still generate blocks all the time, even if they are only churning 300-400 khash/s

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
tcatm
Sr. Member
****
Offline Offline

Activity: 337
Merit: 265


View Profile
August 10, 2010, 12:04:45 AM
 #8

I'm still running an old node without SSE2 @600khash/s. The algorithm works so I don't see why we should make SSE2 a requirement.
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252
Merit: 268



View Profile WWW
August 10, 2010, 02:45:47 AM
 #9

My impression of the difficulty was based on my broken client, haha! I've already generated a block tonight for the first time in such a long time. Having older computers generate coins doesn't seem as futile as it did earlier today. If you can keep the compatibility intact, I think it would be well worth it.

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
Ground Loop
Member
**
Offline Offline

Activity: 111
Merit: 10


View Profile
August 10, 2010, 03:38:23 AM
Last edit: August 10, 2010, 05:44:20 AM by Ground Loop
 #10

Hah!  This sure helps explain a long-standing mystery.. why my 10,000 khash/sec Linux 64-bit machine is the only one that has never, in two weeks, generated a block. Smiley

Bitcoin accepted here: 1HrAmQk9EuH3Ak6ugsw3qi3g23DG6YUNPq
Ground Loop
Member
**
Offline Offline

Activity: 111
Merit: 10


View Profile
August 10, 2010, 03:47:28 AM
 #11

Just to confirm -- this fix is in SVN 125?

Bitcoin accepted here: 1HrAmQk9EuH3Ak6ugsw3qi3g23DG6YUNPq
mizerydearia
Hero Member
*****
Offline Offline

Activity: 574
Merit: 509



View Profile
August 10, 2010, 06:18:28 AM
 #12

Hah!  This sure helps explain a long-standing mystery.. why my 10,000 khash/sec Linux 64-bit machine is the only one that has never, in two weeks, generated a block. Smiley


You're not the only one.  I haven't generated in over a month.
ArtForz
Sr. Member
****
Offline Offline

Activity: 406
Merit: 257


View Profile
August 10, 2010, 09:37:49 AM
 #13

Fix is in svn r124, r125 added -maxconnections.

bitcoin: 1Fb77Xq5ePFER8GtKRn2KDbDTVpJKfKmpz
i0coin: jNdvyvd6v6gV3kVJLD7HsB5ZwHyHwAkfdw
satoshi (OP)
Founder
Sr. Member
*
Offline Offline

Activity: 364
Merit: 7065


View Profile
August 10, 2010, 11:46:00 PM
 #14

SVN rev 128: disable SSE2 on 32-bit.  This may only disable it for MSVC and GCC.  Other compilers might have different 64-bit defines.
SEN-5241
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
August 14, 2010, 02:24:52 PM
 #15

I think the client should have a "test coin generation" feature.  It would essentially just generate some known block just to show everything is working properly. 
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252
Merit: 268



View Profile WWW
August 14, 2010, 02:54:57 PM
 #16

I think the client should have a "test coin generation" feature.  It would essentially just generate some known block just to show everything is working properly. 
I agree. I have a second computer with which I can test difficulty 1 block generation, but I never actually do it. If there was a button to do it, I would.

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
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!