低版本glibc镜像

解决高版本GCC程序在低版本glibc机器运行的3种实用方法(附避坑指南) 本文针对高版本GCC编译的程序在低版本glibc环境中无法运行的经典问题,提供了三种实战解决方案:静态编译的局限与适用场景、容器化部署的现代优雅解法,以及最具普适性的依赖库打包方法。文章重点剖析了每种方案的操作步骤、避坑指南和选型决策,帮助开发者和运维人员彻底解决跨Linux发行版部署的兼容性难题。 阅读详情

arm64-ubuntu17.04-glibc2.25

Dockerfile

FROM arm64v8/ubuntu:17.04

RUN echo > /etc/apt/sources.list && \
    echo "deb http://old-releases.ubuntu.com/ubuntu zesty main restricted universe multiverse" >> /etc/apt/sources.list && \
    echo "deb http://old-releases.ubuntu.com/ubuntu zesty-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
    echo "deb http://old-releases.ubuntu.com/ubuntu zesty-security main restricted universe multiverse" >> /etc/apt/sources.list

RUN apt update && apt install -y build-essential wget curl zlib1g-dev libreadline-dev libffi-dev libsqlite3-dev binutils patchelf
WORKDIR /usr/src
RUN wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
RUN tar xzf openssl-1.1.1w.tar.gz
WORKDIR /usr/src/openssl-1.1.1w
RUN ./config shared zlib --prefix=/usr/local/openssl11
RUN make -j$(nproc)
RUN make install
RUN echo "/usr/local/openssl11/lib" >> /etc/ld.so.conf
RUN ldconfig

WORKDIR /usr/src
RUN wget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz
RUN tar xzf Python-3.10.14.tgz
WORKDIR /usr/src/Python-3.10.14
RUN ./configure --enable-optimizations --enable-shared \
    --with-openssl=/usr/local/openssl11
RUN make -j$(nproc)
RUN make altinstall
RUN ldconfig

#RUN pip3.10 install --upgrade pip
#RUN pip3.10 install fastapi "uvicorn[standard]" sqlalchemy pyinstaller

WORKDIR /app
CMD ["/bin/bash"]

构建命令

docker build --platform linux/arm64 -t ubuntu1704-arm-glibc225:latest .

arm64-centos7-glibc2.17

Dockerfile

FROM arm64v8/centos:7

RUN sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo && \
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo

RUN yum install -y \
    gcc gcc-c++ make \
    python3-devel \
    perl perl-core which \
    bzip2-devel libffi-devel sqlite-devel \
    zlib-devel readline-devel wget tar && \
    yum clean all

RUN cd /usr/src && \
    wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz --no-check-certificate && \
    tar -zxvf openssl-1.1.1w.tar.gz && \
    cd openssl-1.1.1w && \
    ./config shared zlib --prefix=/usr/local/openssl11 && \
    make -j2 && \
    make install && \
    echo "/usr/local/openssl11/lib" >> /etc/ld.so.conf && ldconfig && \
    rm -rf /usr/src/openssl-1.1.1w*

RUN cd /usr/src && \
    wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz --no-check-certificate && \
    tar -zxvf Python-3.10.12.tgz && \
    cd Python-3.10.12 && \
    export LD_LIBRARY_PATH=/usr/local/openssl11/lib && \
    ./configure \
        --enable-optimizations \
        --enable-shared \
        --with-openssl=/usr/local/openssl11 \
        --with-sqlite3=/usr \
        --prefix=/usr/local/python310 && \
    make -j2 && \
    make install && \
    rm -rf /usr/src/Python-3.10.12*

ENV PATH=/usr/local/python310/bin:$PATH
ENV LD_LIBRARY_PATH=/usr/local/openssl11/lib:$LD_LIBRARY_PATH

RUN python3.10 -m pip install --upgrade pip && \
    python3.10 -m pip install pyinstaller fastapi uvicorn[standard]

WORKDIR /app
CMD ["/bin/bash"]

构建命令

docker build --platform linux/arm64 -t arm64-centos7-glibc217 .
glibc-2.17-326.el7_9.3.x86_64.rpm Centos7 el7.x86_64 官方离线安装包,安装指令为 sudo rpm -ivh glibc-2.17-326.el7_9.3.x86_64.rpm 立即下载

相关推荐

WSL2网络配置全攻略:如何让Windows和Linux子系统互相访问端口(附防火墙设置)

本文深入解析WSL2的网络架构,并提供详细的端口互通配置指南。针对WSL2与Windows宿主机之间常见的网络访问问题,文章从原理出发,逐步讲解如何识别网络环境、配置Windows防火墙规则、调整服务监听地址,并介绍镜像网络模式等进阶优化方案,最终实现稳定可靠的双向端口访问。

sony5的博客 1148

【亲测免费】 glibc 2.17rpm安装包及脚本

glibc 2.17rpm安装包及脚本 【下载地址】glibc2.17rpm安装包及脚本 此项目提供了glibc 2.17版本的rpm安装包及配套安装脚本,适用于需要升级或安装该版本glibc的用户。通过简洁的脚本,用户可以轻松完成安装过程,脚本自动处理依赖关系,确保安装顺利进行。项目特别提醒用户在使用前备份重要数据,并...

gitblog_06700的博客 566

CloudFlare CDN优化延迟

这两天在倒腾一个小网站,因为刚注册的域名还没来得及备案,所以就解析到了国外的服务器临时撸代码。为了防止不必要的麻烦,所以在前端套了CloudFlare,但是延迟就比较感人了,通常在150+左右还时不时的抽风,所以就找了点资料来优化一下这个延迟问题。然后再新增一些CloudFlare的亚太地区节点ip的A解析,有耐心的可以分为电信线路和联通线路,我比较懒,所以只分了境内和默认。众所周知CloudFlare是智齿cname解析的,那么我们今天就要用到这个办法了,这里要注意一下,默认的解析是不能动的。

Zuozi - 网络从业者长见识就来Zuozi.NET 1084

Docker镜像中的glibc版本是否必须与宿主机一致呢

Docker镜像中的glibc版本无需与宿主机完全一致,但镜像所需的glibc版本不能高于宿主机。核心策略包括:动态链接程序需确保镜像版本≤宿主机版本,静态链接程序可消除依赖,高版本需求可升级容器内的glibc。最佳实践推荐静态编译、匹配环境编译及避免升级宿主机glibc。关键是要保证程序编译时锁定的版本符号能在运行环境中找到,静态编译是规避兼容性问题的最优方案。

耐酸碱高温固化材料近距离传输研究 643

双卡RTX 3090实战:基于vLLM高效部署Qwen2.5-14B BF16大模型的完整指南

本文提供了在双卡RTX 3090上使用vLLM推理框架高效部署Qwen2.5-14B BF16大模型的完整实战指南。内容涵盖硬件配置、系统环境准备、vLLM核心原理与安装、模型获取、详细部署步骤(包括脚本启动与API服务),以及性能调优与避坑技巧,旨在帮助开发者充分利用硬件性能,实现稳定、高速的本地大模型推理服务。

yy01234的博客 1512

HALCON卡尺模型实战:5分钟搞定工件尺寸测量(附完整代码)

本文详细介绍了HALCON卡尺模型在工件尺寸测量中的实战应用,通过5分钟快速搭建测量系统的完整指南,包括基础配置、高级参数调优和完整代码示例。卡尺模型能自动识别边缘并计算精确尺寸,显著提升工业视觉检测的效率和一致性,特别适用于实时测量场景。

weixin_42570296的博客 462

glibc安装_GLIBC库报错

版本:suse12sp4现象及造成原因:安装python后,系统崩溃无法启动,进入修复模式发现lvm分区丢失,相关命令依赖不存在,如图:(初步预测)安装低版本python(使用glibc库为2.17),导致系统glibc-2.22库冲突。使用sudo lvm 报错无GLIBC_2.22查询发现 libc.so.6 链接版本不对,但源文件libc-2.22.so存在尝试:进行重新链接失败...

weixin_39946460的博客 1692

4D毫米波雷达点云可视化实战:从CANFD原始数据到Matplotlib三维动态图

本文详细介绍了4D毫米波雷达点云可视化实战,从CANFD原始数据解析到Matplotlib三维动态图实现的全流程。通过解析CANFD数据帧结构、点云数据编码原理,并结合Python实现CANFD通信接口,帮助开发者掌握4D雷达数据处理与优化技巧,最终实现高性能的3D点云动态可视化。

u9v0w的博客 568

《GraalVM Native-Image 跨平台构建原生程序实战:基于 Docker + ManyLinux》

本文记录了在Windows系统中通过Docker+ManyLinux镜像解决GraalVM原生应用跨Linux版本兼容性问题的完整流程。作者最初尝试在WSL(Ubuntu 24.04)中构建,但发现因GLIBC版本过高导致程序无法在目标环境运行。最终采用ManyLinux 2.28镜像构建自定义Docker容器,集成GraalVM和Maven,通过目录挂载实现本地开发、容器内编译的流程,成功生成兼容低版本GLIBC(2.28)的原生可执行程序。该方案有效解决了跨Linux系统版本编译的兼容性问题。

qq_35333327的博客 980

C#从入门到精通(35)—如何防止winform程序因为误操作被关闭

我们在开发的上位机软件运行起来以后,一般在右上角都有一个关闭按钮,正常情况下点击关闭按钮就能关闭软件,但是不排除我们不想关闭软件,但是因为不小心把鼠标点到了关闭按钮,如果这是一个正在生产的机器,突然关闭软件可能会导致产品损坏,那么我们如何去解决这个误操作的问题呢,本文就来讲解解决方案!

qq_34059233的博客 678

第三篇:NVIDIA cuOpt Python API 详解:LP、QP、MILP 建模与求解,附核心术语名词解释

NVIDIA cuOpt是一款GPU加速的优化求解库,支持LP、QP、MILP和路径优化问题。本文详细介绍了其Python API使用方法,包括核心类Problem的变量定义、约束添加、目标设置和求解配置,并提供了术语解释。cuOpt通过GPU并行计算大幅提升大规模优化问题的求解效率,支持多种求解算法和参数配置,适用于需要高性能计算的优化场景。安装方式包含pip和Docker两种,验证安装后即可快速开始建模求解。

算法工程师 236

version `GLIBC_2,Linux运维编程基础培训

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

2401_84183628的博客 928

190、LLC谐振变换器的样机调试实战(问题定位)

这篇实战笔记总结了LLC谐振变换器样机调试中的五大典型问题及解决方案:1)空载炸机源于谐振电容纹波电流能力不足;2)轻载啸叫因控制环路不稳定,需调整突发模式阈值;3)MOSFET过热由死区时间不当导致,需精确优化实现ZVS;4)输出纹波大由PCB布局耦合引起,需优化共模抑制;5)启动过冲需延长软启动时间。作者强调调试需结合示波器、热成像仪等工具,理论计算与实测并重,并详细记录每次参数调整。文章指出LLC调试是不断试错的过程,关键是通过现象分析本质原因。

Jack010169的博客 49

jdk 与glibc的兼容性问题,导致kaptcha图片验证码生成卡死jvm崩溃 (C [libc.so.6+0x73a88] _IO_link_in+0x228)

jdk 与glibc的兼容性问题,导致图片验证码生成卡死jvm崩溃 (C [libc.so.6+0x73a88] _IO_link_in+0x228)

qq_41157635的博客 1103

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux系统部署docker出现Fatal glibc error: CPU does not support x86-64-v2

Linux系统部署docker出现Fatal glibc error: CPU does not support x86-64-v2

weixin_41463944的博客 2697

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

docker容器中执行python出现PermissionError: [Errno 1] Operation not permitted: ‘/opt/conda/bin/python‘的解决方法

docker容器中执行python出现PermissionError: [Errno 1] Operation not permitted: ‘/opt/conda/bin/python‘的解决方法

视觉算法小趴菜的博客 1743

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

docker容器中执行pip安装命令报Can‘t start new thread错误解决方法

docker容器中执行pip安装命令报Can‘t start new thread错误解决方法

视觉算法小趴菜的博客 7408

version `GLIBC_2

但程序所需的是 pow@@GLIBC_2.29, 所以就会运行的时候找不到GLIBC_2.29的版本。所以应该怎么办呢?通过ldd可以看到程序所依赖的.so库可以看到有libstdc++, libm, libgcc, and libc其中libstdc++是gcc的c++ 动态库。libc.so 和libm.so 都是GLIBC的一部分。通过objdump可以看到 我们的程序myapp所调用的一些接口函数的版本号。查看程序中所用函数的GLIBC、GLIBC++版本号第一点可以做的是把gcc的。

2501_90229053的博客 1007

解决Distroless基础镜像中GLIBC版本不兼容问题

在使用Distroless基础镜像构建Docker容器时,GLIBC(GNU C Library,GNU C标准库)版本不兼容是一个常见且棘手的问题。这通常表现为应用程序启动时出现“找不到GLIBC版本”或“版本不匹配”的错误。Distroless镜像专注于提供仅包含应用程序及其运行时依赖的最小化环境,减去了完整的操作系统,这虽然带来了安全性和体积上的优势,但也使得处理依赖关系变得更加复杂。本文将...

gitblog_01088的博客 405

Docker-alpine-glibc实战教程:从零构建支持glibc的Alpine基础镜像

Docker-alpine-glibc是一个精心打造的轻量级Alpine Docker镜像,它将Alpine Linux的小巧特性与glibc库完美结合,仅约12MB的体积就能让依赖glibc的应用程序在Alpine系统上顺畅运行。本文将为你提供一份简单快速的实战指南,帮助你从零开始构建并使用这个强大的基础镜像。 ## 为什么选择Docker-alpine-glibc? Alpine Linu

gitblog_00425的博客 613

Docker-alpine-glibc:为什么这个仅12MB的Alpine镜像能运行OracleJDK等glibc应用?

Docker-alpine-glibc是一个精心构建的轻量级Alpine镜像,它在仅约12MB的体积内集成了GNU C库(glibc),解决了标准Alpine Linux使用musl libc无法运行OracleJDK等依赖glibc的专有项目的难题。这个巧妙的解决方案让开发者能够享受Alpine的极致小巧,同时获得glibc兼容能力。 ## 📦 镜像特性:小体积与强兼容的完美结合 Alpi

gitblog_00628的博客 511

Docker-alpine-glibc与标准Alpine镜像对比:性能、兼容性与应用场景分析

Docker-alpine-glibc是一个精心构建的轻量级Alpine Docker镜像,通过集成glibc库(约12MB)解决了标准Alpine镜像在运行依赖glibc的专有项目时的兼容性问题。本文将从性能、兼容性和应用场景三个维度,深入对比Docker-alpine-glibc与标准Alpine镜像的差异,帮助开发者选择最适合的容器基础镜像。 ## 核心差异解析:为什么需要Docker-a

gitblog_00986的博客 650

制作alpine-glibc docker镜像

创建Dockerfile FROM alpine:3.10 RUN apk add --no-cache bash && \ wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \ wget https://...

engchina的专栏 6379

Docker Alpine Glibc 项目常见问题解决方案

Docker Alpine Glibc 是一个基于 Alpine Linux 的 Docker 镜像,它包含 GLIBC (GNU C Library),使得依赖于 GLIBC 的闭源项目(如 OracleJDK、Anaconda 等)能够在 Alpine Linux 上运行。由于 Alpine Linux 默认使用 musl libc,这个镜像特别做了适配,让 glibc 和 musl libc

gitblog_00084的博客 869

alpine安装glibc总结

alpine 安装glibc 基础镜像

fuyaosuixin的博客 2701

Docker-alpine-glibc未来展望:容器镜像轻量化趋势与技术演进

在当今云原生时代,**Docker-alpine-glibc**作为轻量级容器镜像的标杆项目,正引领着容器镜像轻量化的重要趋势。这款精心打造的Alpine Docker镜像集成了glibc库,仅约12MB大小,为开发者提供了极致的轻量化解决方案。本文将深入探讨Docker-alpine-glibc的未来发展前景,分析容器镜像轻量化技术演进方向,帮助您把握这一关键技术趋势。 ## 🔍 容器镜像轻

gitblog_00993的博客 1067
上一篇: OpenBMC Layer 介绍
下一篇: fastapi 分层
Along20210921
博客等级 码龄5年 82粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值