无法启动Flutter渲染器:没有可用的GL实施

y0u0uwnf  于 2022-11-25  发布在  Flutter
关注(0)|答案(2)|浏览(459)

我在flutter中创建了一个简单的“Hello Word”,并启用Web和Linux平台进行测试,在chrome中一切正常,我在flutter中看到了我的第一个Web应用程序“Hello Word”,但在Linux上的桌面应用程序中启动但不显示任何内容,并在终端中给予我此消息

libEGL warning: MESA-LOADER: failed to open swrast: /lib64/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /snap/flutter/current/usr/lib/x86_64-linux-gnu/dri/../../../../lib/x86_64-linux-gnu/librt.so.1) (search paths /snap/flutter/current/usr/lib/x86_64-linux-gnu/dri, suffix _dri)

** (app:22248): WARNING **: 05:45:50.289: Failed to start Flutter renderer: No GL implementation is available
Error waiting for a debug connection: The log reader stopped unexpectedly.
Error launching application on Linux.

这是我的问候语应用

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Welcome to Flutter'),
        ),
        body: const Center(
          child: Text('Hello World'),
        ),
      ),
    );
  }
}

我用软呢帽35测试版我希望你能帮助我的家伙,谢谢你

zed5wv10

zed5wv101#

从错误信息判断,它似乎是一个错误与glibcglibc-devel没有被安装.我运行Fedora 34,所以我不能搜索F35的repos,但如果你运行dnf repoquery --whatprovides 'libpthread.so*',它应该给予你的包的名称所需的运行.
如果软件包已经安装,请让我知道,我会看看我是否可以帮助您通过编辑这个答案。

**编辑:**我没有任何使用Snap的经验,但是经过一些研究,似乎您无法在Snap中公开某些文件夹,因此一个快速(尽管是肮脏的)修复方法是将无法找到的文件flutter添加到包含Snap包的文件夹中。

您还可以尝试以下操作:

$ snap run --shell <snap>.<command>
$ env
XDG_VTNR=1
SSH_AGENT_PID=5543
XDG_SESSION_ID=2
SNAP_USER_COMMON=/home/<user>/snap/<snap>/common
SNAP_LIBRARY_PATH=/var/lib/snapd/lib/gl:
SNAP_COMMON=/var/snap/<snap>/common
[...]

将行从SNAP_LIBRARY_PATH=/var/lib/snapd/lib/gl:编辑为SNAP_LIBRARY_PATH=/var/lib/snapd/lib/gl:/path/to/folder/containing/libpthread,保存编辑并尝试再次启动应用程序。
您可以打开文件管理器找到libpthread的位置,浏览到/(在GNOME中,这是在左侧导航窗格中的“其他位置”〉“计算机”下),取消隐藏隐藏文件夹(Ctrl + H),然后使用搜索功能。这应该会显示文件的位置(在我的机器上,它在/usr/lib64下),然后将文件夹添加到SNAP_LIBRARY_PATH

ivqmmu1c

ivqmmu1c2#

这个问题是因为snap安装,对我来说有效的是用github的手动安装替换snap版本。你也可以使用tarball。

git clone https://github.com/flutter/flutter.git -b stable

现在将 Flutter 添加到路径:

sudo gedit ~/.bashrc

假设ur flutter安装在/home/user/中,请在文件末尾添加以下内容:
export PATH="$PATH:/flutter/bin"
如果您的flutter安装在其他地方,则相应地更改目录
保存并退出后,刷新ur .bashrc文件:

source ~/.bashrc

现在检查是否已将其添加到路径:

echo $PATH

如果你看到一个/flutter/bin,那么你做得很好。要检查是否安装了flutter:

flutter  --version

要添加任何缺少的依赖项(如果您在Fedora上),请用途:

sudo dnf install bash curl file git unzip which xz zip mesa-libGLU clang cmake ninja-build pkg-config gtk3-devel

在基于Ubuntu的发行版上,

sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev

相关问题