I'm on Ubuntu, and I want to install Boost. I tried with
sudo apt-get install boost
But there was no such package. What is the best way to install Boost on Ubuntu?
I'm on Ubuntu, and I want to install Boost. I tried with
sudo apt-get install boost
But there was no such package. What is the best way to install Boost on Ubuntu?
You can use apt-get
command (requires sudo
)
sudo apt-get install libboost-all-dev
Or you can call
aptitude search boost
find packages you need and install them using the apt-get
command.
sudo apt-get install libboost-filesystem1.55.0
, but only libraries are installed, not headers. #include <boost/filesystem.hpp>
or #include <boost/filesystem>
complains about missing file. –
Navy 8 upgraded, 274 newly installed, Need to get 192 MB of archives. After this operation, 724 MB of additional disk space will be used.
, you can install only needed ones –
Ible Get the version of Boost that you require. This is for 1.55 but feel free to change or manually download yourself:
wget -O boost_1_55_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download
tar xzvf boost_1_55_0.tar.gz
cd boost_1_55_0/
Get the required libraries, main ones are icu
for boost::regex
support:
sudo apt-get update
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev libboost-all-dev
Boost's bootstrap setup:
./bootstrap.sh --prefix=/usr/
Then build it with:
./b2
and eventually install it:
sudo ./b2 install
./b2 install
on Boost v1.66.0 but running dpkg -s libboost-dev | grep 'Version'
says I have version 1.54.0.1ubuntu1
--probably because that's what was previously installed via sudo apt install libboost-all-dev
–
Gisela sudo ./b2 install
builds it as well. You don't have to call ./b2
beforehand. –
Biltong --show-libraries
and --with-libraries=library-name-list
options to limit the long wait you'll experience if you build everything. Finally. –
Usually sudo ./b2 install
and sudo ./b2 remove
without success. Is there a b2 target for uninstalling? –
Chiefly Installing Boost on Ubuntu with an example of using boost::array
:
Install libboost-all-dev and aptitude:
sudo apt install libboost-all-dev
sudo apt install aptitude
aptitude search boost
Then paste this into a C++ file called main.cpp
:
#include <iostream>
#include <boost/array.hpp>
using namespace std;
int main(){
boost::array<int, 4> arr = {{1,2,3,4}};
cout << "hi" << arr[0];
return 0;
}
Compile like this:
g++ -o s main.cpp
Run it like this:
./s
Program prints:
hi1
aptitude search boost
? –
Navy Get the version of Boost that you require. This is for 1.55 but feel free to change or manually download yourself (Boost download page):
wget -O boost_1_55_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download tar xzvf boost_1_55_0.tar.gz cd boost_1_55_0/
Get the required libraries, main ones are icu for boost::regex support:
sudo apt-get update sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev
Boost's bootstrap setup:
./bootstrap.sh --prefix=/usr/local
If we want MPI then we need to set the flag in the user-config.jam file:
user_configFile=`find $PWD -name user-config.jam` echo "using mpi ;" >> $user_configFile
Find the maximum number of physical cores:
n=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}'`
Install boost in parallel:
sudo ./b2 --with=all -j $n install
Assumes you have /usr/local/lib setup already. if not, you can add it to your LD LIBRARY PATH:
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf'
Reset the ldconfig:
sudo ldconfig
An update for Windows 10 Ubuntu Application via Subsystem (also works on standard Ubuntu):
You might have problems finding the package. If you do, never fear! PPA is here!
sudo add-apt-repository ppa:boost-latest/ppa
sudo apt-get update
Then run:
sudo apt-get install libboost-all-dev
E: The repository 'http://ppa.launchpad.net/boost-latest/ppa/ubuntu focal Release' does not have a Release file.
–
Evocation You can install boost on ubuntu by using the following commands:
sudo apt update
sudo apt install libboost-all-dev
First try the following:
$ sudo apt-get install libboost*
You may get an error message similar to the following, like I did:
E: Unable to correct problems, you have held broken packages.
Then try install below package:
$ sudo apt-get install libboost-all-dev
Now you can create a a sample project utilizing Boost:
$ mkdir boost
$ cd boost/
$ cat > main.cpp &
Actually you don't need "install" or "compile" anything before using Boost in your project. You can just download and extract the Boost library to any location on your machine, which is usually like /usr/local/
.
When you compile your code, you can just indicate the compiler where to find the libraries by -I
. For example, g++ -I /usr/local/boost_1_59_0 xxx.hpp
.
sudo apt update; sudo apt upgrade
to upgrade all your packages to the latest versions in the repositories) if you find the appropriate package repository for Boost and to very easily delete Boost from the system if you want to. The manual approach makes those tasks harder, so you need a good reason to skip out on the benefits of a package manager. –
Viator Install libboost-all-dev by entering the following commands in the terminal
Step 1
Update package repositories and get latest package information.
sudo apt update -y
Step 2
Install the packages and dependencies with -y flag .
sudo apt install -y libboost-all-dev
Now that you have your libboost-all-dev installed source: https://linuxtutorial.me/ubuntu/focal/libboost-all-dev/
I was looking for any small guides - how to install boost latest release in Rocky Linux, however the same guide applies for any Generic Linux (CentOS, Ubuntu, Debian, Rocky, Fedora)
sudo ./bootstrap.sh --prefix=/usr
sudo ./b2 install --with=all
Check Boost version with
#include<iostream>
#include <boost/version.hpp>
int main(){
std::cout << "Using Boost "
<< BOOST_VERSION / 100000 << "." // major version
<< BOOST_VERSION / 100 % 1000 << "." // minor version
<< BOOST_VERSION % 100 // patch level
<< std::endl;
return 0;
}
© 2022 - 2024 — McMap. All rights reserved.