Bitcoin Forum
November 09, 2024, 12:12:19 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Bitcoind x86 binary for CentOS  (Read 18290 times)
nimnul (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile WWW
August 03, 2010, 10:33:13 AM
 #1

Does anyone have the binary?

knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 01:45:19 PM
 #2

Does anyone have the binary?
Which version? I haven't tried to build any yet, but after building on a few different distro so far, kind of got the process down pat.  Wink

I've got a CentOS 5.5 machine I could experiment with.

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
nimnul (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile WWW
August 03, 2010, 01:53:56 PM
 #3

[foo@bar ~]# cat /etc/issue
CentOS release 5.5 (Final)

[foo@bar ~]# uname -a
Linux foo.bar 2.6.18-194.3.1.el5.028stab069.6 #1 SMP Wed May 26 18:31:05 MSD 2010 i686 i686 i386 GNU/Linux

knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 02:09:33 PM
 #4

Cool, we could both use a build then  Wink

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

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 03:58:05 PM
 #5

My first obstacle is the missing ecdsa.h (Elliptic Curve Digital Signature Algorithm) file. It's listed in the man pages for CentOS, but missing from the package, WTF?

Anyway, I guess I can copy it from somewhere else, hopefully I'll have some binaries for us all soon.

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

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 04:20:59 PM
 #6

Apparently, even after copying over the header file; those libraries are disabled, grrrr.

Guess I'll have to hack one together  Cry

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

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 04:32:57 PM
 #7

Ok, got around the encryption issue (guess it's never going to be part of the Cent OS library since they don't use that part of openssl), legal issues aside, just left with the DB issues during compile, so I'll need to compile a db4.7 version and hopefully we'll have a test build here soon.

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
nimnul (OP)
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile WWW
August 03, 2010, 05:21:58 PM
 #8

Yes, it's not that simple - otherwise I could have compiled it myself.

1) In CentOS OpenSSL rpm elliptic curves cryptography is disabled, so you have to build OpenSSL yourself.
2)  CentOS Boost-devel RPM is outdated and missing a lot of things, so you have to build Boost yourself too.
3) CentOS WxWidgets RPM is outdated so you have to build it yourself too. And its build requires more than 256 mb ram. Satoshi improved bitcoind so doesn't require wxWidgets any more, but I'm not sure whether that patch is in 0.3.7 or whatever sources you are building.

knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 05:29:28 PM
 #9

I've been able to get around all of those, I'm actually stuck at the DB4.7 stuff.

I build it directly from the source and during the compile I get an error:
Code:
db_cxx.h:1083: error: expected class-name before ‘{’ token
I checked the header file, I think there is a syntax error, but not sure.

Any suggestions?

This is the block of code it stalls at, the class is defined at the top of the file, so I'm not sure why it hangs at that error without digging through all the Berkeley DB code. I don't want to go to a newer version of the DB if it's going to mess with everyone's BitCoin database that uses this build.
Code:
// Almost any error in the DB library throws a DbException.
// Every exception should be considered an abnormality
// (e.g. bug, misuse of DB, file system error).
//
class _exported DbException : public __DB_STD(exception)
{
public:
virtual ~DbException() throw();
DbException(int err);
DbException(const char *description);
DbException(const char *description, int err);
DbException(const char *prefix, const char *description, int err);
int get_errno() const;
virtual const char *what() const throw();
DbEnv *get_env() const;
void set_env(DbEnv *dbenv);

DbException(const DbException &);
DbException &operator = (const DbException &);

private:
void describe(const char *prefix, const char *description);

char *what_;
int err_;                   // errno
DbEnv *dbenv_;
};

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
sgtstein
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
August 03, 2010, 05:30:37 PM
 #10

I have successfully built it with 4.8, 4.7 never would but with 4.8 bitcoind locks up whenever it dumps the initial block download to disk. Undecided
knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 05:32:06 PM
 #11

{snip} And its build requires more than 256 mb ram. Satoshi improved bitcoind so doesn't require wxWidgets any more, but I'm not sure whether that patch is in 0.3.7 or whatever sources you are building.
Yeah, the bitcoind build gets around any errors for those, but I still get stuck at the DB error.  Sad

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

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 05:59:12 PM
 #12

Just for kicks, tried to compile with DB4.8 got the same error, LOL (the line number was slightly different, but at the same class)

Didn't get this on other Distros, might be a CentOS related error, but not sure why.

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1100


View Profile
August 03, 2010, 06:10:24 PM
 #13

My first obstacle is the missing ecdsa.h (Elliptic Curve Digital Signature Algorithm) file. It's listed in the man pages for CentOS, but missing from the package, WTF?

Anyway, I guess I can copy it from somewhere else, hopefully I'll have some binaries for us all soon.

Yes, ecdsa.h is considered patent-encumbered, so Red Hat and other distros turn off ec-dsa.

Yes, Virginia, this means that bitcoin potentially has patent problems.

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

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 06:53:37 PM
 #14

I have successfully built it with 4.8, 4.7 never would but with 4.8 bitcoind locks up whenever it dumps the initial block download to disk. Undecided
I'm probably going to load up a virtual machine of CentOS 5.5 and work with that. I've really barfed up the server I was experimenting on trying make it build the binary, LOL.

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

Activity: 364
Merit: 7193


View Profile
August 03, 2010, 09:05:08 PM
 #15

I have successfully built it with 4.8, 4.7 never would but with 4.8 bitcoind locks up whenever it dumps the initial block download to disk. Undecided
I urge you not to use BDB 4.8.  The database/log0000* files will be incompatible if anyone uses your build and then goes back to the official build.

knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 10:11:05 PM
 #16

Ok, conquered the DB issue after pestering an Oracle developer all day  Tongue

When you compile DB 4.7.25, you have to use an extra config command or else the compile will be missing those vital header files (why???)

Anyway, here is what it was
Code:
../dist/configure --enable-cxx
make
When you compile the source, this fixes the DB compiling related errors.

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
sgtstein
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
August 03, 2010, 10:51:13 PM
 #17

Ah, crap. I totally forgot about that extra flag. I knew about that before from Lazslo's Linux Build Document. Sorry about that. Get a working build up and running and you'll definitely be getting some BTC from me.  Grin
knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 11:17:01 PM
 #18

Oh, but there's more!  Shocked

Even after I did that, I couldn't get it to compile due to linking errors. I was able to get a solid compile of bitcoind though, this is the extra steps it took.

After compiling and installing the BerkeleyDB4.7, you need to add it's include path to the makefile.unix

Add -I"/usr/local/BerkeleyDB.4.7/include"

Then you need to copy all the libraries from "/usr/local/BerkeleyDB.4.7/lib" to "/usr/lib"
BUT WAIT, there's MORE!  Huh

Yes, and if that was not annoying enough, now it will fail to compile because of an OpenSSL error, Grrrrr..

Now you must copy libcrypto.a and libssl.a from "/usr/local/ssl/lib" to "/usr/lib"

Yes, those can be linked, but I got tired of chasing down compiler errors, was easier to just copy them.  Roll Eyes

After all of that, then you should be able to compile a bitcoind binary.

I'm testing it now, seems to be working just fine. Downloading blocks and such. When it finishes, I'll experiment with some coin generation and coin transfer.

I'm still caught on the GUI client compile, currently hangs at
Code:
/usr/bin/ld: cannot find -lSM
If anyone is good with Google, let me know.  Wink

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

Activity: 308
Merit: 258



View Profile WWW
August 03, 2010, 11:46:46 PM
Last edit: August 04, 2010, 02:37:37 PM by knightmb
 #19

I've posted the binary up here (32 bit only - bitcoind):
Click Here

There are two versions, one built from stock code, the other modified to accept up to 1,000 nodes (hence the super node name)

Will probably tackle the GUI client build another day, this one wore me out. Donate some BTC to my sig if you are feeling generous  Wink

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

Activity: 364
Merit: 7193


View Profile
August 04, 2010, 12:09:32 AM
 #20

There are two versions, one built from stock code, the other modified to accept up to 1,000 nodes (hence the super node name)
I'd rather you didn't make a build of the 1000 node connecting version available.  It won't take very many people running that before we have to make another release just to limit the incoming connections.
Pages: [1] 2 3 »  All
  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!