Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Michaol opened this issue Dec 6, 2023 · 10 comments
Labels
documentation Improvements or additions to documentation

Comments

@Michaol
Copy link

Michaol commented Dec 6, 2023

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

@rdgjiose
Copy link

rdgjiose commented Dec 6, 2023

你是及时雨呀,太棒了。

@haruue haruue added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Dec 6, 2023
@haruue
Copy link
Collaborator

haruue commented Dec 6, 2023

感谢您的补充。

另外我这边测试了下, 只需要添加 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 这两个步骤不是必须的?

@haruue haruue added the documentation Improvements or additions to documentation label Dec 6, 2023
@Michaol
Copy link
Author

Michaol commented Dec 6, 2023

感谢您的补充。

另外我这边测试了下, 只需要添加 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。具体情况可能要根据自己的服务器试试。

@ceozero
Copy link

ceozero commented Dec 7, 2023

有没有debian的教程?

@haruue
Copy link
Collaborator

haruue commented Dec 7, 2023

@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
Copy link
Author

Michaol commented Dec 7, 2023

@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源吧。

@Michaol
Copy link
Author

Michaol commented Dec 7, 2023

有没有debian的教程?

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

@cheat0916
Copy link

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

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

@Eukchen
Copy link

Eukchen commented Apr 18, 2024

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

@AkramiPro
Copy link

Is there a tutorial for Debian?

see this #18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

7 participants