Author

Topic: Bitcoin Client 0.3.22 and 0.3.23 does not run on many Linux Systems (Read 2709 times)

legendary
Activity: 1400
Merit: 1005
Thanks for the explanation.  Guess I'll try to compile 0.3.24 then...
hero member
Activity: 755
Merit: 515
Can you elaborate?
Specifically fixed in commit https://github.com/bitcoin/bitcoin/commit/497317453422611a077f7f195eb193d3bb597a9c.  Before this, sending groups of blocks resulted in disconnecting nodes.  ie if you are running a 0.3.23 node and you get connected with another node who wants to download blocks from you.  If he needs more than a couple blocks, your node will start sending them and then think it is being DOSed and disconnect that node.  This results in many, many nodes which don't have the full blockchain resulting in network segmentation and often wasted mining efforts (several pools have reported repeated stale generated blocks recently).  This is made even worse with clients running 0.3.22 and previous releases as in 0.3.23 the outgoing connection logic was made slightly more aggressive as previous versions were having serious problems getting even one or two connections, increasing the likelyhood of nodes ending up with very old versions of the block chain.  Thus it is very, very, very highly recommended that you upgrade to version 0.3.24 as soon as possible and dont continue to run any older versions unless they have the full chain and/or are connected directly to 0.3.24 nodes so that they can get the full chain ASAP.
legendary
Activity: 1400
Merit: 1005
Errr, not sure what version.  Will have to check that next time I SSH in.  I'll check that doc - thanks!  For now, I am running 0.3.22 that someone compiled for a headless CentOS install.
Please, please, please if you are running anything older than 0.3.24, just turn it off.  There were some bugs when sending blocks which result in severe network segmentation and just generally isnt good for the network.
Can you elaborate?
hero member
Activity: 755
Merit: 515
Errr, not sure what version.  Will have to check that next time I SSH in.  I'll check that doc - thanks!  For now, I am running 0.3.22 that someone compiled for a headless CentOS install.
Please, please, please if you are running anything older than 0.3.24, just turn it off.  There were some bugs when sending blocks which result in severe network segmentation and just generally isnt good for the network.
legendary
Activity: 1400
Merit: 1005
Sorry to bump an old thread, but I am getting the same errors in Debian with 0.3.24.  Is there any fix for this?  Any commands I can run to download and install the appropriate libraries?
What version of debian? But, yes checkout doc/build-unix.txt for instructions on building Bitcoin from source (on debian).
Errr, not sure what version.  Will have to check that next time I SSH in.  I'll check that doc - thanks!  For now, I am running 0.3.22 that someone compiled for a headless CentOS install.
hero member
Activity: 755
Merit: 515
Sorry to bump an old thread, but I am getting the same errors in Debian with 0.3.24.  Is there any fix for this?  Any commands I can run to download and install the appropriate libraries?
What version of debian? But, yes checkout doc/build-unix.txt for instructions on building Bitcoin from source (on debian).
legendary
Activity: 1400
Merit: 1005
Sorry to bump an old thread, but I am getting the same errors in Debian with 0.3.24.  Is there any fix for this?  Any commands I can run to download and install the appropriate libraries?
hero member
Activity: 755
Merit: 515
Heres the problem:
As of 0.3.22, the building was switched from Gavin's Amazon VMs to gitian builder, which provides a nice way to deterministicly build just about any software, meaning anyone can easily reproduce the builds of Bitcoin.
In this switch Lucid was specified as the base OS as it is the oldest supported desktop edition and there are build problems on Hardy (wx refuses to build with the necessary changes to make the GUI show up on Natty, no bdb 4.7, and probably others).  In 0.3.21 and previous ones, Gavin had used 9.04, however as that is EOL and might miss security updates on important libraries like boost or openssl leaving Bitcoin vulnerable to an attack.
This leaves me with little choice, and means that people wishing to use distros which ship very old libcs or old versions of an os need to build bitcoin themselves.  The doc/build-unix.txt file should get you well on your way, its really not as hard as it might look.
sr. member
Activity: 278
Merit: 251
Bitcoin-Note-and-Voucher-Printing-Empowerer
I now found out:

Ubuntu 10.4 LTS and Knoppix 6.4.4 both run ALL versions of the bitcoin client without problem (i.e. 0.3.21 as well as 0.3.23).

So my system now is a 2 GByte bootable USB Stick with Knoppix 6.4.4 and with AES256-encrypted persistent image file that save my modifications. This is a great Knoppix feature (ubuntu also supports saving persistent data on usb stick, but not encrypted).

Truecrypt 7.0.a I installed on this USB stick system, too.

My bitcoin client and data directory are inside a truecrypt container secured by an extremely long passphrase. I am just opening this container when booting from my USB stick, and never from somewhere else.

Directory structure after mounting the truecrypt container:
/media/truecrypt1/bitcoin
/media/truecrypt1/myDataDir/

my starting command:
./bitcoin -datadir=/media/truecrypt1/myDataDir

more precisely, I use the following shell script
/media/truecrypt1/bitcoin_start

to be able to start bitcoin client by double-click:

Code:
#!/bin/bash

# Get the absolute path of THIS script file:
ThisPathAbs="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"

# Get the relative path of THIS script file:
ThisPathRel=`dirname $0`

# Call the bitcoin client and put the data in the subdirectory "myDataDir":
`$ThisPathRel/bitcoin -datadir="$ThisPathAbs/myDataDir"` &

Then I make backups of my wallet.dat to another much smaller tc container file (equally well protected) that I then upload to several places in the cloud to be safe against loss.

PS: Just a note if somebody wants to make a bootable USB stick with Knoppix 6.4.4: If you start knoppix 6.4.4 live CD, there is a program "flash-knoppix" that creates your USB stick via GUI. It is extremely easy to do! BUT: This USB stick was not bootable on my system, apparently the master boot record /MBR) on this USB stick was not compatible with my USB Stick and/or PC.
So I did the following: I first made a bootable USB Stick with ubuntu 10.04 LTS (also here the tool to do this is already installed on the LiveCD (USB creator, you find it in the GNOME Menu somewhere under Settings or System or so, but it is named differently to "USB creator" there). Then after having verified that THIS USB stick IS bootable, I booted from Knoppix 6.4.4 agian, plugged in this USB stick again, started "flash-knoppix" again, but this time in the dialogue I answered "no" instead of "yes" such that the program did not re-write my whole USB stick, but just copied the data while keeping the MBR untouched (which was nicely created by the ubuntu tool already). This way I finally got a USB bootable Knoppix 6.4.4. stick that works jsut fine. First time you'll boot from it you'll get the possibility to create an AES encrypted image file to save all the data, personal settings, files stored in ~/ (home) folder, newly installed software (like truecrypt) etc.
sr. member
Activity: 278
Merit: 251
Bitcoin-Note-and-Voucher-Printing-Empowerer
I just tried OpenSUSE 11.4: Here it is just the opposite: It runs the latest 0.3.23 version, but it does not run the older 0.3.21.

Interestingly, e.g. when I download the "truecrypt" binary for Linux, it appears to run on ALL Linux systems that I have tried.

Quote
Hopefully we can get out of the business of distributing Linux binaries altogether.
Hmm, but as long as those packers don't do it, I think the status quo is still much better than no Linux bitcoin binary at all. Because one could still install an appropiate (newer) Linux distribution inside a VirtualBox (not WMware of course, see below) solely for the purpose of running the bitcoin client.

Because, Linux (more precisely: 100% Open Source (GNU) Linux without proprietary components) is the ONLY operating system that can be seriously considered for "production use" of the bitcoin client, i.e. when dealing with any relevant amounts of money.

This is because every proprietary (non-open-source) software like Windows or MacOS "may have" (if not "probably does have") backdoors and hidden features to read out any part of the hard-drive (or working memory) and communicating this back to the server. Hence, reading out something as small as the wallet.dat would be the easiest thing to do. One could even design the backdoor such that the server tells the client what file to search for, so such an attack could be launched at any time even on systems that have behaved "correctly" till then. I would therefore consider usage of Windows or MacOS for the bitcoin client justifiable only for test purposes, but completely unacceptable for "Production Use". You just can't be too paranoid on this, because there is no bank that you could sue and from that you could get your money back, if somebody makes an attack, and no central bank could print new bitcoins to compensate for any stolen/lost money (compare the recent post of the guy who lost 500.000 USD in bitcoins).

So, what remains is Linux, or more precisely Open Source (GNU) Linux Distros without any 3rd party software like flash, Skype, Opera, Adobe Acrobat or VMware (that's also why running bitcoin within Linux inside a VMware box in Windows hardly helps, because VMware itself may well contain the same kind of "hidden features" and could spy out any data inside the Linux guest system).

For my part, I decided to use a GNU Linux LiveCD with persistent encrypted settings on a hard disk or Flash medium (like Knoppix 5.3.1 Live CD), or alternatively a bootable Live USB stick (OpenSuse 11.4 with a persistent 2nd partition on it to remember user settings [created with imagewriter]). The whole bitcoin data directory as well as the bitcoin client binary file itself is located inside a truecrypt container (on the USB stick or the PC's hard disk), and I also save a copy of my wallet.dat inside other (much smaller) truecrypt container files and upload them to many places to be protected against both theft and loss.

So, as an end-user, having Linux bitcoin binaries is not only nice-to-have but absolutely essential. Without Linux binaries, I would never use bitcoin.
member
Activity: 84
Merit: 10
I need an new box...
Running Debian 'squeeze' here. You can add it to the list that runs both 22 & 23. And while Ubuntu 8.04 LTS may still be under support, officially 10.04 is the new LTS version. I don't have that installed so I can't say if it runs them or not.
legendary
Activity: 1596
Merit: 1100

Hopefully we can get out of the business of distributing Linux binaries altogether.  It is very difficult working on all Linux OS's and versions, and this problem has long been solved by others:  packages.  Each OS needs a trusted packager to handle proper builds for that OS.

sr. member
Activity: 278
Merit: 251
Bitcoin-Note-and-Voucher-Printing-Empowerer

Whereas the bitcoin client up to "bitcoin-0.3.21-linux" works fine, there is a problem with "bitcoin-0.3.22-linux" and  and version 0.3.23:

It produces the following error message in many Linux systems (including mine):
Code:
./bitcoin: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./bitcoin)
./bitcoin: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.11' not found (required by ./bitcoin)

Systems that are affected by the error include (list would be much longer, but I haven't tried out any more...):
  • Ubuntu 8.04 LTS: A system still under support
  • Knoppix 5.3.1 or 5.1.1: The most recent Knoppix that still supports the combination of LiveCD and knoppix.img file for saving changes system information persistently (also 256 bit AES encrypted img file supported) - Knoppix 6 does not support this any more
  • Slax Linux 6.1.2: The latest version of this really small (200 MByte) but still good and fast GNU-Linux Distribution, which has similar capabilities in terms of persistent info storage as Knoppix 5, although w/o encryption.
  • Damn Small Linux 4.4.10: Most recent version of this 50 MByte Linux Distro
  • gNewSense 2.3: Another ubuntu-based GNU-linux Distro
  • Puppy Linux 5.2.5: Another small (30 MByte) GNU Linux Distro

Systems that do work with bitcoin 0.3.22/23 include:
  • Knoppix 6.4.4 (it lacks the encryption and persistent image feature for Live CDs that Knoppix 5 posseses)
  • OpenSuse 11.4
  • CrunchBang Linux 10-20110207

Therefore, my proposal and request to the developers/builders would be to use another system for creating the binaries, to improve compatibility, unless there is a good reason why this is not possible. Or to distribute two sets of binaries for Linux, e.g. something like "bitcoin-0.3.23-linux_older_distros.tar.gz" and "bitcoin-0.3.23-linux_recent_distros.tar.gz".
Jump to: