Installing on Linux
BOINC can be installed on a Linux computer in any of three ways: 1) using the package management system of your Linux distribution; 2) using the installer package from Berkeley; or 3) building directly from source code.
Installing via a package management system is the easiest. Here are instructions for several well known Linux distributions:
Pre-built package of the BOINC client for Linux are available using package managers, or directly from the BOINC website. It is also possible (though more complex) to build the BOINC client from source code.
Some Linux distributions (Fedora, Ubuntu, Debian, possibly others) have BOINC installation packages your distro's package manager can download from your distro's repositories and install on your computer. The advantages of installing via the package manager are:
- the resulting BOINC installation takes advantage of one of Linux's primary security features.
- the BOINC binaries are dynamically linked therefore they require less memory than the binaries in the Berkeley Installer
- the package manager checks for dependencies and installs any additional libraries required to run BOINC on your Linux distro
- installs BOINC as a daemon (BOINC runs automatically at boot time even if no user is logged in)
- BOINC updates can be automated if your Linux distro has automated package update capability (most popular distros do)
If you want to use the packages from repositories, take into account that there are two packages that can be installed separately, one for BOINC Client and another for BOINC Manager. Only the client part is required but you will likely want to install the manager as well unless you intend to manage the client from a remote host.
BOINC is available in 32 bit and 64 bit versions. At this time, November 2008, not all distro repositories that have 32 bit BOINC have 64 bit as well. There is a Berkeley installer that installs 64 bit BOINC. If you install 64 bit BOINC, please read the 64 Bit considerations section below.
The Berkeley Installer
The Berkeley Installer is available directly from the BOINC project. The disadvantages to using the Berkeley installer are:
- installs BOINC in a way that fails to take advantage of Linux security features.
- the BOINC binaries use more memory than they really need to because several shared libraries are statically linked.
- does not install BOINC as a daemon (service) though you can modify the installation to run as a daemon using instructions below.
The Berkeley Installer for Linux is a self-extracting archive. This type of installation requires that you be familiar with the UNIX command-line interface. The download files have names like
boinc_6.2.14_i686-pc-linux-gnu.sh. After downloading the file, you'll need to be in the directory where you download the archive to unpack it.
Here is an example. The archive is downloaded to the desktop. It is then moved to the home directory. Finally BOINC is unpacked and installed. All of this can be done within a regular user account. Root privileges are not needed.
$ cd Desktop $ mv boinc_6.2.14_i686-pc-linux-gnu.sh $HOME $ cd $ sh boinc_6.2.14_i686-pc-linux-gnu.sh
This creates a directory called BOINC/ under the home directory containing the following files:
- The BOINC core client.
- The BOINC Manager.
- A command line tool for controlling a running core client.
- A script that cd's into the BOINC directory and runs the core client.
- A script that cd's into the BOINC directory and runs the manager.
You may want to automatically start the core client at boot time. If you do not want to auto-start BOINC and prefer a manual start method then in a terminal enter
./run_client --daemon; ./run_manager
Build from Source
BOINC is open source software. You can download the source code and build your own BOINC client, if you so desire, or even set up your own BOINC project. It's not as easy as either of the two methods above, but it may turn out to be more interesting. And some people might even be interested in contributing to the ongoing BOINC development efforts.
If you want to build BOINC on Linux, you need to keep in mind that BOINC consists of both client software and project server software. To run BOINC on your own Linux computer and contribute to existing projects you only need to build the client software.
Instructions for building BOINC from source code are in a separate developer's wiki. You will need to start with these pages:
There is also useful documentation on other web sites:
- Building the BOINC Client Software (from the Unofficial BOINC wiki)
- Building BOINC and BOINC Applications on Linux (from Spy Hill) - building the client is a by-product of these old and rather long instructions which were mainly aimed at people who want to set up a BOINC project
- Installing and Running the BOINC client on Unix (from Spy Hill) - how to install and configure the client once you have built it
64 Bit Considerations
There are versions of the Berkeley installer that install the 64 bit version of BOINC. At this time, June 2009, 64 bit Fedora and 64 bit Ubuntu installs a 64 bit version of BOINC from repositories. It is not known whether other distros have 64 bit BOINC in repository.
If you are running 64 bit Linux and 64 bit BOINC then you might have a problem with projects that issue 32 bit applications rather than 64 bit applications. To allow 32 bit applications to run on 64 bit Linux you must install 32 bit versions of certain shared libraries. The names of the packages containing the 32 bit libraries are different for each distro.
Three packages are required for 64 bit compatability.
|compat-libstdc++-296.i686||Compatibility 2.96-RH standard C++ libraries|
|compat-libstdc++-33.i686||Compatibility standard C++ libraries|
|compat-libstdc++-33.x86_64||Compatibility standard C++ libraries|
Install all 3 packages at once, by opening a terminal and typing:
su -c 'yum install compat-libstdc++-296.i686 compat-libstdc++-33.i386 compat-libstdc++-33.x86_64'
Four packages are required.
|ia32-libs||description is unavailable|
|libstdc++6||description is unavailable|
|libstdc++5||description is unavailable|
|freeglut3||description is unavailable|
Install all 4 packages at once with the following steps:
- Open a terminal.
sudo apt-get install ia32-libs libstdc++6 libstdc++5 freeglut3
9.10 and after
sudo apt-get install ia32-libs libstdc++6 freeglut3
libstdc++5 was deprecated, some projects will not work without it, like QMC.
Download, extract and copy in the right place manually.
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb sudo dpkg-deb -x libstdc++5_3.3.6-17ubuntu1_i386.deb ./tmp sudo cp ./tmp/usr/lib/* /usr/lib32/