centos - 在centos7上安装flutter : What's the equivalent of debian package lib32stdc++6 in centos7?

标签 centos flutter centos7 flutter-dependencies

我正在 centos7 docker 容器中安装 flutter。它提示有无法执行的可执行文件。有一个解决方案,但不适用于 centos7:

[!] Flutter (Channel @{u}, v0.0.0-unknown, on Linux, locale en_US)
    ✗ Downloaded executables cannot execute on host.
      See https://github.com/flutter/flutter/issues/6207 for more information
      On Debian/Ubuntu/Mint: sudo apt-get install lib32stdc++6
      On Fedora: dnf install libstdc++.i686
      On Arch: pacman -S lib32-libstdc++5

搜索https://pkgs.org对于 lib32stdc++6libstdc++.i686lib32-libstdc++5 没有显示 centos7 的包。 github issue根本没有提到centos。

我需要在我的 centos7 docker 容器中安装哪个 lib...++ 包才能让 flutter 运行?

这个问题似乎与Flutter version Unknown有关

我已经按照 here 安装了最新的 git 版本.但是我仍然遇到同样的错误。

最佳答案

最终修复它的是隐藏在 Github Issue 中的评论:

https://github.com/flutter/flutter/issues/6207#issuecomment-373100050

cd flutter/bin/cache/artifacts/engine
cp android-arm64-profile/linux-x64/gen_snapshot android-arm-profile/linux-x64/gen_snapshot
cp android-arm64-release/linux-x64/gen_snapshot android-arm-release/linux-x64/gen_snapshot

2018 年 10 月更新:我们已不再进行此修复,因为以这种方式构建的应用程序会在设备上崩溃。解决方案是不在 centos7 上构建 flutter 应用程序。我们现在使用基于此 Dockerfile 的 Docker 容器:

https://hub.docker.com/r/nathansamson/flutter-builder-docker/~/dockerfile/

FROM fedora:28

ENV ANDROID_COMPILE_SDK=28
ENV ANDROID_BUILD_TOOLS=28.0.1
ENV ANDROID_SDK_TOOLS=4333796
ENV FLUTTER_VERSION=0.7.3-beta

RUN dnf update -y \
    && dnf install -y wget tar unzip ruby ruby-devel make autoconf automake redhat-rpm-config lcov\
           gcc gcc-c++ libstdc++.i686 java-1.8.0-openjdk-devel xz git mesa-libGL mesa-libGLU\
    && dnf clean all

RUN wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip \
    && unzip android-sdk.zip -d /opt/android-sdk-linux/ \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "platform-tools" \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "extras;android;m2repository" \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "extras;google;google_play_services" \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "extras;google;m2repository" \
    && yes | /opt/android-sdk-linux/tools/bin/sdkmanager  --licenses || echo "Failed" \
    && rm android-sdk.zip

ENV ANDROID_HOME=/opt/android-sdk-linux
ENV PATH=$PATH:/opt/android-sdk-linux/platform-tools/

RUN wget --quiet --output-document=flutter.tar.xz https://storage.googleapis.com/flutter_infra/releases/beta/linux/flutter_linux_v${FLUTTER_VERSION}.tar.xz \
    && tar xf flutter.tar.xz -C /opt \
    && rm flutter.tar.xz

ENV PATH=$PATH:/opt/flutter/bin

RUN echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "emulator" \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "system-images;android-18;google_apis;x86" \
    && echo "y" | /opt/android-sdk-linux/tools/bin/sdkmanager "system-images;android-27;google_apis_playstore;x86"

RUN dnf update -y \
    && dnf install -y pulseaudio-libs mesa-libGL  mesa-libGLES mesa-libEGL \
    && dnf clean all

关于centos - 在centos7上安装flutter : What's the equivalent of debian package lib32stdc++6 in centos7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51791312/

相关文章:

centos7中的上下文切换延迟

linux - 允许用户仅选择一组显示的 ID

linux - 使用 Forever 运行我的 Node 应用程序不会记录任何输出

python - 将 python 服务作为后台服务运行

mysql - 创建触发器时出现语法错误

flutter - BoxDecoration 中的 FadeInImage

php - 在 CentOs 上安装 squirrelmail

dart - 如何在中间垂直对齐ListView

flutter - 如何将 Color 转换为 Dart 和 Flutter 中的 RGB 值列表?

nginx - Certbot :ImportError: No module named 'requests. packages.urllib3