This change will apply to ubuntu only.
Fixes: https://tracker.ceph.com/issues/57163
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
CXX?=g++
-CXX_FLAGS?=-std=c++11 -Wno-unused-parameter -Wall -Wextra -Werror -g
+CXX_FLAGS+=-Wno-unused-parameter -Wall -Wextra -Werror -g
CXX_LIBS?=-lrados -lradosstriper
CXX_INC?=$(LOCAL_LIBRADOS_INC)
CXX_CC=$(CXX) $(CXX_FLAGS) $(CXX_INC) $(LOCAL_LIBRADOS)
}
function install() {
+ if [ $(distro_id) = "ubuntu" ]; then
+ sudo apt-get purge -y gcc
+ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
+ fi
for package in "$@" ; do
install_one $package
done
+ if [ $(distro_id) = "ubuntu" ]; then
+ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
+ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11
+ sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 11
+ sudo update-alternatives --set cc /usr/bin/gcc
+ sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 11
+ sudo update-alternatives --set c++ /usr/bin/g++
+ fi
}
function install_one() {
case $(distro_id) in
centos|fedora|rhel|opensuse*|suse|sles)
install gcc-c++ make libradospp-devel librados-devel;;
- ubuntu|debian|devuan|softiron)
+ ubuntu)
+ install gcc-11 g++-11 make libradospp-dev librados-dev
+ export CXX_FLAGS="-std=c++20";;
+ debian|devuan|softiron)
install g++ make libradospp-dev librados-dev;;
*)
echo "$(distro_id) is unknown, $@ will have to be installed manually."