clnhub / rtl8192eu-linux

Realtek rtl8192eu official Linux driver, versions: 5.2.19.1 (master), 5.6.3.1, 5.6.4 and 5.11.2.1 (default)
452 stars 91 forks source link

Can't compile module rtl8192eu because `GLIBC_2.33' not found #40

Open cyberdroid opened 3 years ago

cyberdroid commented 3 years ago

make.log

cyberdroid commented 3 years ago

Ubuntu 20.04

clnhub commented 3 years ago

I assume you are using a mainline kernel?

Mainline kernels are now built on the newest Ubuntu version with glibc v2.33 and thus kernel modules require the same version. From what I know 'glibc' is part of the distribution and is hard to update.

This is the bug report about this.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1926938

You can wait for an official fix, or:

  1. Try to upgrade glibc to v2.33
  2. Upgrade to v21.04
  3. Use the official Ubuntu kernel
CGarces commented 3 years ago

This should work to compile the kernel but maybe broke something, use at your own risk.

wget -nv http://mirrors.kernel.org/ubuntu/pool/main/g/glibc/libc6_2.33-0ubuntu5_amd64.deb
sudo dpkg --force-all -i libc6_2.33-0ubuntu5_amd64.deb

Works fine on my CI builds https://github.com/Mange/rtl8192eu-linux-driver/commit/4013a01fe6e0a6e34853f9d2885d3cb02f5f230e

cyberdroid commented 3 years ago

Thanks for the responses. Ok, now the problem is clear. I think the best solution will be installing ubuntu 21.04 in a VM and compile rtl8192eu module there then copy that module to 20.04 kernel tree.

jameshilliard commented 1 year ago

scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by scripts/basic/fixdep)

This indicates the userspace utility scripts/basic/fixdep was linked against a newer glibc, something probably messed up in your build env.

Mainline kernels are now built on the newest Ubuntu version with glibc v2.33 and thus kernel modules require the same version. From what I know 'glibc' is part of the distribution and is hard to update.

This doesn't make sense, libc(ie glibc) is a usespace thing, kernel modules don't use a libc at all.

clnhub commented 1 year ago

Yep, modpost and fixdep. This is only valid for Ubuntu's pre-compiled kernels. Compiling from source always works.