GLIBC_2.33 not found -- 在为Linux构建Flutter的时候
我试图在Ubuntu 22.04 LTS上运行一个flutter应用程序。一切工作都很正常。但是,今天在运行该应用程序时出现了这个问题。Flutter SDK在构建应用程序时失败了,出现了以下错误。
/snap/flutter/130/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/../../../../lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so)
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
在互联网上搜索后,我发现我需要一个向后的libc版本。如果我执行文件file /snap/flutter/130/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/../../../../lib/x86_64-linux-gnu/libc.so.6
。
我得到的结果是/snap/flutter/130/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/../../../../lib/x86_64-linux-gnu/libc.so.6: symbolic link to libc-2.31.so
。
可能我需要安装libc-2.31。但是,如何安装?我没有找到任何解决方案。Flutter和Ubuntu都已经升级到了最新版本。
这是一个关于vscode的快速问题。 首先,删除vscode。
sudo snap remove code
然后在这里下载vscode的.deb。https://code.visualstudio.com/docs/setup/linux
并用.NET的方式安装。
sudo apt install ./<file>.deb
- 移动到边缘通道,
snap refresh flutter --edge
- 运行
flutter upgrade
- 删除构建目录
rm -r build/
- 再次运行应用程序
flutter run -d linux
参考这个的内容
在互联网上搜索后,我意识到我需要一个向后的libc的版本。
不,你不知道。
这个错误意味着:你所使用的GLIBC版本太旧,不符合你试图加载的系统libgvfsdbus.so
的要求。
你的应用程序似乎使用了一个自定义版本的GLIBC,位于/snap/flutter/130/lib/x86_64-linux-gnu/libc.so.6
,它比系统安装的GLIBC(可能是2.33或更新的版本)要老。
我不知道是Flutter让你使用自定义的GLIBC,还是你自己选择这样做。无论怎样,这似乎是一个糟糕的主意。
如果你必须为这个应用程序使用自定义的GLIBC,那么你应该不在其中使用任何系统库(如/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
)。
ldd --version
时,它显示,ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35
。这意味着GLIBC 2.35已经安装。
- Ashraful Alam Shakil 2022-10-23
/snap/flutter/130/lib/x86_64-linux-gnu/
不同的版本),这正是确切的问题所在。
- Employed Russian 2022-10-23
我遇到了这个问题。我只是卸载并重新安装了flutter。它工作得很好。
snap remove flutter
snap install flutter
flutter doctor