apernet / tcp-brutal

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

非issue,提供一个Ubuntu 20.04升级GCC和GLIBC_2.34的方法大家参考

Michaol opened this issue · comments

20.04的GCC默认9.40,而libc6最高只有GLIBC_2.30,都无法正常编译安装TCP Brutal。

升级方法如下:(root)
add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
apt remove gcc-9 g++-9
apt autoremove
apt-get install gcc-13 g++-13
ln -sf /usr/bin/gcc-13 /usr/bin/gcc
ln -sf /usr/bin/g++-13 /usr/bin/g++
gcc -v
至此GCC应该升到13.1.0了。

(!!!以下需要在focal中使用高版本jammy源,可能会存在一定风险,请先测试后再决定是否需要增加!!!)
升级libc6:(root)
vi /etc/apt/sources.list
增加一个jammy源:deb http://mirrors.aliyun.com/ubuntu/ jammy main
apt-get update
apt install libc6
strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_
至此应该见到最高版本为GLIBC_2.35

之后就可以正常安装TCP Brutal了。AWS的lightsail, $3.5只有512M内存,22.04跑得很累,很容易爆内存,但是20.04就比较舒服了。以上AWS lightsail $3.5刀 Ubuntu 20.04测试通过。补充:内核已经升到6.6.3!
image

你是及时雨呀,太棒了。

感谢您的补充。

另外我这边测试了下, 只需要添加 ppa 并安装 gcc-13 就能让 brutal 正确编译了, 也就是下面的命令

add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
apt remove gcc-9 g++-9
apt autoremove
apt-get install gcc-13
ln -sf /usr/bin/gcc-13 /usr/bin/gcc

在 Ubuntu 20.04 上添加 jammy 源然后安装软件的操作是比较危险的, 看起来添加 jammy 源和升级 libc6 这两个步骤不是必须的?

感谢您的补充。

另外我这边测试了下, 只需要添加 ppa 并安装 gcc-13 就能让 brutal 正确编译了, 也就是下面的命令

add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
apt remove gcc-9 g++-9
apt autoremove
apt-get install gcc-13
ln -sf /usr/bin/gcc-13 /usr/bin/gcc

在 Ubuntu 20.04 上添加 jammy 源然后安装软件的操作是比较危险的, 看起来添加 jammy 源和升级 libc6 这两个步骤不是必须的?

嗯,我自己这边试的时候不行,依然出错,提示没有找到GLIBC_2.33/GLIBC_2.34。查了一下20.04默认官方的libc6只有GLIBC_2.30。具体情况可能要根据自己的服务器试试。

有没有debian的教程?

@Michaol

嗯,我自己这边试的时候不行,依然出错,提示没有找到GLIBC_2.33/GLIBC_2.34

你还记得是执行哪个命令时报错需要 GLIBC_2.33/GLIBC_2.34 的吗?
检查了下 gcc-13 里最高只要求到 GLIBC_2.25

    41: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND getentropy@GLIBC_2.25 (8)

@Michaol

嗯,我自己这边试的时候不行,依然出错,提示没有找到GLIBC_2.33/GLIBC_2.34

你还记得是执行哪个命令时报错需要 GLIBC_2.33/GLIBC_2.34 的吗? 检查了下 gcc-13 里最高只要求到 GLIBC_2.25

    41: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND getentropy@GLIBC_2.25 (8)

重开了一个实例做测试,只升级到6.6.3,升级了GCC,没有升级libc6。

DKMS make.log for tcp-brutal-1.0.1 for kernel 6.6.3 (x86_64)
Thu Dec 7 14:58:10 UTC 2023
make -C /lib/modules/6.6.3/build M=/var/lib/dkms/tcp-brutal/1.0.1/build modules
make[1]: Entering directory '/usr/src/linux-headers-6.6.3'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Debian 12.2.0-14) 12.2.0
You are using: gcc (Ubuntu 13.1.0-8ubuntu1~20.04.2) 13.1.0
CC [M] /var/lib/dkms/tcp-brutal/1.0.1/build/brutal.o
./tools/objtool/objtool: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by ./tools/objtool/objtool) ./tools/objtool/objtool: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by ./tools/objtool/objtool)
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/tcp-brutal/1.0.1/build/brutal.o] Error 1
make[3]: *** Deleting file '/var/lib/dkms/tcp-brutal/1.0.1/build/brutal.o'
make[2]: *** [/usr/src/linux-headers-6.6.3/Makefile:1913: /var/lib/dkms/tcp-brutal/1.0.1/build] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.6.3'
make: *** [Makefile:13: all] Error 2

image

不知道是否lightsail的问题,所以还是提醒大家谨慎添加jammy源吧。

有没有debian的教程?

应该跟Ubuntu大同小异吧?我没试过Debian,先查看一下现有版本,方法应该差别不大。

add-apt-repository ppa:ubuntu-toolchain-r/test

大佬,Debian怎么办,用什么源

debian好像是在/etc/apt/sources.list加上deb http://ftp.us.debian.org/debian trixie main 后安装gcc-13就能成功安装了

Is there a tutorial for Debian?

see this #18