最近评论区很多人在反映之前写的 感觉速度很慢?使用BBR优化服务器加速小飞机! 优化加速配置时出错,当时这个教程我是用我的搬瓦工一步一步配置过来的,验证成功了,最近怎么那么多人反映同样的问题呢?
问题如下
在执行编译魔改BBR模块时出错
make[1]: *** [/root/tcp_tsunami.o] Error 1
make: *** [_module_/root] Error 2
之前看到作者说编译这个需要gcc4.9以上的版本,但CentOS6 yum安装最新的版本也才4.4,以为是gcc版本的问题,就折腾编译安装gcc4.9 最后安装成功了,有些依赖要先安装好,经过几次试错并请教Google总算趟平,贴下过程
yum update -y
#安装C和C++的静态库
yum install -y glibc-static libstdc++-static
#安装旧版本的gcc、c++编译器
yum install gcc gcc-c++ -y
#安装wget
yum install wget -y
#下载gcc4.9.4源码
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.gz
tar zxf gcc-4.9.4.tar.gz
cd gcc-4.9.4
#下载依赖的 GMP MPC MPFR
sh ./contrib/download_prerequisites
#按官方建议新建一个文件夹用于编译
mkdir ../gcc_4.9.4_build && cd ../gcc_4.9.4_build
#根据自己的需要修改config项目,建议指定目录便于多版本管理。
../gcc-4.9.4/configure --prefix=/usr/local/gcc-4.9.4/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install
安装好之后新版gcc并不是默认使用的版本,如要默认使用新版gcc进行编译,还需要配置环境变量,把以下代码添加到~/.bash_profile
export PATH=/usr/local/gcc-4.9.4/bin:$PATH
可能遇到的问题
出错的时候检查编译目录下的config.log日志文件,查找error信息
cat ./config.log|grep error
error -static-libstdc++ not implemented
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
g++: command not found G++没有装或没有更新
yum -y update gcc
yum -y install gcc+ gcc-c++
编译安装需时很长,我的搬瓦工编译了半个多小时才好,还因为占用CPU过多被强制降频了,如不想折腾编译可参考以下yum安装办法
gcc 4.8 安装
curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo
yum install gcc gcc-g++
gcc --version
gcc 4.9 安装
yum install centos-release-scl
yum install devtoolset-3-toolchain
scl enable devtoolset-3 bash
gcc --version
gcc 5.2 安装
yum install centos-release-scl
yum install devtoolset-4-toolchain
scl enable devtoolset-4 bash
gcc --version
scl enable devtoolset-3bash
只是临时覆盖系统原有的GCC引用,如果想永久覆盖,可在root/.bashrc文件中添加如下代码source /opt/rh/devtoolset-3/enable
参考链接:
Linux下编译安装GCC 4.9.4
CENTOS 6.5 安装gcc 4.9.1
CentOS 6.x通过yum安装gcc 4.8, 4.9, 5.2等高版本GCC
折腾到最后发现并不是gcc版本的问题,是因为使用Teddysun的一键更换BBR内核脚本默认安装最新的BBR内核,这个是一直在更新的,我之前安装时最新版还是4.12,现在已经是4.13了,而魔改模块还不支持4.13。
正在修改一键包,修改后放出。
听上去好复杂,能不能在一键更换bbr内核脚本时指定安装4.12的?那样不就简单解决问题了么
已经修改了秋水逸冰的一键脚本指定安装4.12.10了,你现在可以下载修改过的一键包进行安装。
请教两个问题,
1、Teddysun的这个 https://gist.github.com/anonymous/ba338038e799eafbba173215153a7f3a/raw/55ff1e45c97b46f12261e07ca07633a9922ad55d/tcp_tsunami.c 适合哪个版本的核心?4.12还是4.13呢?我在4.12上没成功;
2、请问Teddysun的这个 https://gist.github.com/anonymous/ba338038e799eafbba173215153a7f3a/raw/55ff1e45c97b46f12261e07ca07633a9922ad55d/tcp_tsunami.c 是持续更新的吗?如果是,有办法拿到旧版本吗?