当前位置: 首页 > news >正文

使用ubuntu:20.04和ubuntu:jammy构建secretflow环境

一、使用ubuntu:20.04构建隐语编译环境

FROM ubuntu:20.04LABEL maintainer="build SecureProtocolLib on ubuntu:20.04"ARG TARGETPLATFORM# change dash to bash as default shell
RUN ln -sf /bin/bash /bin/shRUN apt update \&& apt upgrade -y \&& apt install -y software-properties-common \&& add-apt-repository -y ppa:ubuntu-toolchain-r/test \&& apt upgrade -y \&& apt install -y gcc-11 g++-11 libasan6 \git wget curl unzip autoconf build-essential libssl-dev lld\ninja-build vim-common libgl1 libglib2.0-0 \&& DEBIAN_FRONTEND=noninteractive apt install -y tzdata \&& apt clean \&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 \&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 # install cmake
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then CONDA_ARCH=aarch64 ; else CONDA_ARCH=x86_64 ; fi \&& curl -sL https://github.com/Kitware/CMake/releases/download/v3.26.1/cmake-3.26.1-linux-$CONDA_ARCH.sh -o cmakeinstall.sh \&& chmod +x cmakeinstall.sh \&& ./cmakeinstall.sh --prefix=/usr/local/bin/ --exclude-subdir \&& rm cmakeinstall.sh \&& ln -s /usr/local/bin/cmake  /usr/bin/cmake# clang is required on arm64 platform
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then \echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" > /etc/apt/sources.list.d/llvm.list \&& echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" >> /etc/apt/sources.list.d/llvm.list \&& wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \&& apt update \&& apt install -y clang-15 \&& apt clean \&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100 \&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 100 \
; fi# amd64 is only reqiured on amd64 platform
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ] ; then apt install -y nasm ; fi# install conda
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then CONDA_ARCH=aarch64 ; else CONDA_ARCH=x86_64 ; fi \&& wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-2-Linux-$CONDA_ARCH.sh \&& bash Miniconda3-py38_23.11.0-2-Linux-$CONDA_ARCH.sh -b \&& rm -f Miniconda3-py38_23.11.0-2-Linux-$CONDA_ARCH.sh \&& /root/miniconda3/bin/conda init# Add conda to path
ENV PATH="/root/miniconda3/bin:${PATH}"# install bazel
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then BAZEL_ARCH=arm64 ; else BAZEL_ARCH=amd64 ; fi \&& wget https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-$BAZEL_ARCH \&& mv bazelisk-linux-$BAZEL_ARCH /usr/bin/bazelisk \&& chmod +x /usr/bin/bazelisk \&& ln -s /usr/bin/bazelisk /usr/bin/bazel# run as root for now
WORKDIR /home/admin/ENTRYPOINT [ "/bin/bash", "-lc" ]

二、使用ubuntu:jammy编译secretflow环境

FROM ubuntu:jammyLABEL maintainer="secretflow-contact@service.alipay.com"ARG TARGETPLATFORM# change dash to bash as default shell
RUN ln -sf /bin/bash /bin/shRUN apt update \&& apt upgrade -y \&& apt install -y gcc-11 g++-11 libasan6 \git wget curl unzip autoconf make lld-15 \cmake ninja-build vim-common libgl1 libglib2.0-0 \&& DEBIAN_FRONTEND=noninteractive apt install -y tzdata \&& apt clean \&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 \&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 \&& update-alternatives --install /usr/bin/ld.lld ld.lld /usr/bin/ld.lld-15 100# clang is required on arm64 platform
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then apt install -y clang-15 \&& apt clean \&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100 \&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 100 \
; fi# amd64 is only reqiured on amd64 platform
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ] ; then apt install -y nasm ; fi# install conda
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then CONDA_ARCH=aarch64 ; else CONDA_ARCH=x86_64 ; fi \&& wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-2-Linux-$CONDA_ARCH.sh \&& bash Miniconda3-py38_23.11.0-2-Linux-$CONDA_ARCH.sh -b \&& rm -f Miniconda3-py38_23.11.0-2-Linux-$CONDA_ARCH.sh \&& /root/miniconda3/bin/conda init# Add conda to path
ENV PATH="/root/miniconda3/bin:${PATH}"# install bazel
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then BAZEL_ARCH=arm64 ; else BAZEL_ARCH=amd64 ; fi \&& wget https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-$BAZEL_ARCH \&& mv bazelisk-linux-$BAZEL_ARCH /usr/bin/bazelisk \&& chmod +x /usr/bin/bazelisk \&& ln -s /usr/bin/bazelisk /usr/bin/bazel# run as root for now
WORKDIR /home/admin/ENTRYPOINT [ "/bin/bash", "-lc" ]

http://www.dtcms.com/a/293380.html

相关文章:

  • ndarray的创建(小白五分钟从入门到精通)
  • 嵌入式开发学习(第三阶段 Linux系统开发)
  • 数据资产——解读数据资产全过程管理手册2025【附全文阅读】
  • [c++11]constexpr
  • 考研数据结构Part1——单链表知识点总结
  • 陷波滤波器设计全解析:原理、传递函数与MATLAB实现
  • Netty中AbstractReferenceCountedByteBuf对AtomicIntegerFieldUpdater的使用
  • 威胁情报:Solana 开源机器人盗币分析
  • Automotive SPICE
  • git的版本冲突
  • 大模型——Data Agent:超越 BI 与 AI 的边界
  • 用ESP32打造全3D打印四驱遥控车:无需APP的Wi-Fi控制方案
  • 从0开始的中后台管理系统-2
  • 课题学习笔记2——中华心法问答系统
  • 汽车行业数字化——解读52页汽车设计制造一体化整车产品生命周期PLM解决方案【附全文阅读】
  • 记录更新时间用java的new date还是数据库的now
  • 深入理解 C 语言数据类型:从内存到应用的全面解析
  • CAN基础知识 - 进阶版
  • 消息推送功能设计指南:精准触达与用户体验的平衡之道
  • Spring Boot 中集成ShardingSphere-JDBC的基本使用
  • Kibana报错[security_exception] current license is non-compliant for [security]
  • HCIA/IP(一二章)笔记
  • TTL+日志的MDC实现简易链路追踪
  • 强化学习理论
  • 计算机是怎么样工作的
  • 在 Ubuntu 22.04 上安装并优化 Nginx nginx入门操作 稍难,需要有一定理论 多理解 多实践
  • Class13预测房价代码
  • Google Gemini 体验
  • 从零开始学CTF(第二十五期)
  • 万界星空科技铜线/漆包线行业智能化MES系统解决方案