代码之家  ›  专栏  ›  技术社区  ›  mles

在centos7上安装flutter:什么是centos7中debian包lib32stdc++6的等价物?

  •  0
  • mles  · 技术社区  · 7 年前

    我在一个centos7码头集装箱里安装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++6 , libstdc++.i686 lib32-libstdc++5 没有显示centos7的包裹。github的问题根本没有提到centos。

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

    这个问题似乎与 Flutter version Unknown

    here . 但是我还是犯了同样的错误。

    2 回复  |  直到 7 年前
        1
  •  2
  •   mles    7 年前

    最终修复的是隐藏在Github问题中的这条评论:

    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
    

    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
    
        2
  •  1
  •   GoinOff    7 年前

    对于CentOS 7.x,请尝试安装libstdc++包。

    查询包: yum search libstdc++

    yum install libstdc++

    libstdc++是CentOS 7.x标准发行版的一部分

    推荐文章