Ubuntu18 “error while loading shared libraries: xxx.so.x“ 错误的原因和解决方法

NXP bootloader NXP bootloader 首先采用官方的bootloader, 直接keil下载即可 然后烧写官方的led_demo,注意,由于官方的失误,需要改一些东西,详情见: https://community.nxp.com/thread/492991 然后下一步修改自己的程序启动地址: ... 阅读详情

在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:
error while loading shared libraries: libvtkRenderingCore8.2.so.1: cannot open shared object file: No such file or directory

原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.

另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.

所以安装共享库后要注意共享库路径设置问题, 如下:

  1. 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.

  1. 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:

终端:cat /etc/ld.so.conf
显示内容:include ld.so.conf.d/*.conf
终端执行命令:sudo echo “/usr/local/lib” >> /etc/ld.so.conf(如果没有权限。sudo chmod 777 /etc/ld.so.conf)
终端:sudo ldconfig

或者直接在ld.so.conf里面加入库的路径,然后执行 sudo ldconfig 即可

  1. 如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下, 但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库.

LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:

export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH

一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

 

了解更多关于《计算机视觉与图形学》相关知识,请关注公众号:

在这里插入图片描述
下载我们视频中代码和相关讲义,请在公众号回复:计算机视觉课程资料

Ubuntu 18.04 下构建 Snap 应用实战:从 strict 沙箱到 Snap Store 发布 Snap 是一种面向 Linux 的安全应用分发机制,其核心是基于声明式权限控制与运行时沙箱隔离的容器化交付模型。它通过 `plugs`/`slots` 机制实现细粒度系统资源访问控制,并依赖 `core18` 等标准化基础镜像保障跨发行版兼容性。技术价值在于解决传统包管理中的依赖冲突、版本碎片化与权限失控问题,广泛应用于 VS Code、Slack 等主流桌面软件的统一分发。典型应用场景包括企业级桌面应用打包、教育终端软件部署及老旧硬件上的长期支持(LTS)环境交付。本文聚焦 Ubuntu 18.04 这 阅读详情

相关推荐

Ubuntu 18.04源码编译Radamsa:安全工程师的模糊测试硬功夫

模糊测试(Fuzz Testing)是一种通过向目标程序注入大量非预期输入以触发异常行为的基础性软件安全验证技术。其核心原理在于变异引擎对原始数据进行字节级扰动,结合协议理解与反馈机制,实现崩溃、内存错误等缺陷的自动化发现。Radamsa作为轻量级、可审计、高可控的命令行模糊器,凭借位翻转、块复制、格式化字符串等五大变异策略,在网络协议测试中展现出独特技术价值。它特别适用于HTTP、DNS、SNMP等常见服务的协议级健壮性验证,也广泛用于嵌入式固件、工业网关等遗留系统安全评估场景。本文聚焦于在Ubuntu

542

《C语言非常道》 ubuntu64上使用gcc编译出32位程序

看李忠老师的《C语言非常道》时,在Ubuntu上运行p166页的程序c0601.c时, 64位的Ubuntu,gcc默认生成64位的程序,如果想编出32位的程序,就要加 -m32选项。 如果有问题,需要安装依赖 $ sudo apt-get install build-essential module-assistant $ sudo apt-get install gcc-multilib g++-multilib 安装好后,编译 gcc asmdemo.c -o asmdemo.out -masm=

chinagaobo的专栏 4037

Ubuntu 18.04 搭建 code-server 云 IDE:Nginx 反向代理与 WebSocket 完整实践

code-server 是将完整 VS Code 运行于浏览器的开源云 IDE,其核心依赖稳定 WebSocket 长连接与安全 HTTPS 上下文。在 Linux 服务器端部署时,Ubuntu 18.04 因内核(4.15)对 WebSocket 调度成熟、Node.js 兼容性强、systemd 稳定性高,成为企业级生产环境首选底座。Nginx 不仅承担反向代理与 SSL 终止职责,更需精准透传 Upgrade/Connection 头以保障终端、调试、实时协作等关键功能。该方案规避 Docker 封装

B1334628598的博客 370

ubuntu打开共享文件夹

ubantu打开共享文件夹 cd /mnt/hgfs/vm_share

qq_37139358的博客 1349

Linux动态链接库依赖问题深度解析:从libssl.so.1.1缺失到OpenSSL版本兼容性实战

动态链接库是Linux系统中实现代码共享和模块化的重要机制,它允许多个程序共用同一份库代码,从而节省系统资源并简化更新流程。其核心原理在于程序运行时通过动态链接器在预设路径中查找并加载所需的共享对象文件(.so文件)。这一机制的技术价值在于提升了软件开发的效率和系统资源的利用率,但也引入了库依赖和版本兼容性等挑战。在实际应用场景中,当系统升级或软件迁移时,常会遇到因库文件缺失或版本不匹配导致的程序无法启动问题,例如经典的libssl.so.1.1缺失错误。本文聚焦于OpenSSL这一关键的密码学工具包,深入

weixin_30698297的博客 287

深入理解glibc:Linux系统核心库的原理、实战与问题排查

在Linux系统开发与运维中,动态链接库是连接应用程序与操作系统内核的关键组件,它实现了系统调用的封装、内存管理以及标准C函数接口。其核心原理在于通过动态链接器(ld.so)在程序运行时加载和解析符号,确保代码的可移植性与执行效率。这一机制的技术价值在于为上层应用提供了稳定、统一的运行环境,同时通过版本控制维护了系统的向后兼容性。在实际应用场景中,开发者常会遇到库版本冲突、符号缺失或CPU指令集不兼容等问题,尤其是在跨发行版部署、容器化环境或遗留系统升级时。本文聚焦于glibc这一具体实现,结合“CentO

weixin_30500473的博客 370

error while loading shared libraries错误解决

出错如下: 主要错误:error while loading shared libraries: libboost_regex.so.1.51.0: cannot open shared object file: No such file or directory 错误过程如下: [cpp] view plain copy [

亡羊补牢 7978

Ubuntu 14.04部署Murmur服务端:源码编译与安全加固指南

Murmur是Mumble语音通信系统的官方服务端,本质是一个专注用户管理、权限控制与UDP语音路由的VoIP服务器。其核心原理依赖SSL/TLS加密握手、Opus音频编码协商及SQLite轻量级持久化,技术价值在于低延迟(<50ms)、高并发(百级用户)和端到端加密保障。典型应用场景包括游戏开黑语音中继、远程教育实时对讲、工控设备现场语音监控等对稳定性与确定性要求严苛的边缘环境。本文聚焦Ubuntu 14.04(Trusty Tahr)这一长期服役的老系统,深入解析如何绕过陈旧apt源、通过源码编译集成O

weixin_34391445的博客 430

Ubuntu18.04编译ORB-SLAM3及遇到的一些问题

Ubuntu18.04编译ORB-SLAM3遇到的一些问题1. 安装Pangolin2. 编译源代码 1. 安装Pangolin 通过源码编译安装完成后,测试十四讲中高博的示例代码,编译可以通过,但在执行时会报错:error while loading shared libraries: libpangolin.so: cannot open shared object file: No such file or directory,大概就是没有链接上动态库,需要修改一个配置文件,告诉他去/usr/loca

Robert_Q的博客 5167

Ubuntu 16.04 源码编译安装 Python 3.9 实战指南

Python 编程环境的核心在于版本可控、依赖隔离与系统解耦。在老旧但稳定的 Ubuntu 16.04 上,系统自带的 Python 3.5.2 无法满足现代开发对 pip 版本、venv 支持及 TLS 1.2 安全协议的要求,直接 apt 安装易引发 SSL 握手失败、apt 包管理器崩溃等生产级风险。源码编译 Python 3.9 成为兼顾兼容性与自主性的关键技术路径——它绕过二进制分发限制,精准绑定系统 OpenSSL 1.0.2g,原生集成 ensurepip 与优化编译(PGO),并实现 /op

weixin_30598225的博客 427

OpenLiteSpeed 在 Ubuntu 14.04 上的轻量级 Web 服务器部署指南

Web 服务器是支撑网站与应用运行的核心基础设施,其选型需兼顾性能、资源占用与系统兼容性。OpenLiteSpeed 作为一款专为高并发优化的轻量级 Web 服务器,凭借极低内存开销(空载仅 12–18 MB)、内置 PHP 进程管理及原生 HTTP/3 支持能力,在老旧或资源受限环境中展现出独特技术价值。尤其在 Ubuntu 14.04 这类已终止官方支持但仍在工控、教务、嵌入式后台等场景广泛使用的 LTS 系统上,OpenLiteSpeed 通过不依赖 systemd、自带兼容库、配置隔离等设计,实现了

weixin_33860528的博客 385

Ubuntu 18.04编译UE4.22引擎:从环境配置到Segmentation Fault的完整解决方案

在Linux环境下进行大型C++项目编译是游戏开发和系统软件构建中的常见需求,其核心在于处理复杂的依赖关系、编译器工具链配置以及系统资源管理。从技术原理上看,编译过程涉及源代码到机器码的转换,需要构建系统(如Make、CMake)与编译器(如Clang、GCC)的协同工作,而链接阶段则负责将多个目标文件合并为可执行程序。这一过程的技术价值在于能够实现跨平台部署、性能优化以及深度定制化开发。在应用场景上,从源码编译大型引擎(如Unreal Engine)是游戏开发者、技术美术和DevOps工程师的典型任务,尤

congbao6525的博客 464

嵌入式Linux开发,Ubuntu下交叉编译内核报错:error while loading shared libraries: /lib/x86_64-linux-gnu/libc++.so:

寞水

寞水 2297

Ubuntu 18.04 部署 code-server 生产级实践指南

code-server 是将 VS Code 运行于浏览器的开源云端 IDE,其核心价值在于免客户端、跨平台、集中化开发环境管理。实现该能力依赖底层系统兼容性(如 glibc、OpenSSL、systemd)、进程守护(systemd 单元配置)、HTTPS 安全接入(Nginx 反向代理与 TLS 1.2 兼容配置)及多用户资源隔离机制。在 Ubuntu 18.04 这类长期支持但组件陈旧的发行版中,直接安装高版本二进制常因 GLIBC_2.28 缺失或 OpenSSL 1.1.1 TLS 1.3 握手失

dianzongfan5428的博客 468

Gmssl编译问题: error while loading shared libraries: libssl.so.1.1: cannot open shared object file

在Centos7上编译安装Gmssl后,运行gmssl version出现如下错误: gmssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory 查找一下libssl.so.1.1的位置,然后连接到/usr/lib6...

专注基础架构领域 9384

Tauri开发环境配置避坑指南:从Rust到Node.js的全流程实战

本文是一份详尽的Tauri开发环境配置实战指南,重点解析了从Rust工具链安装、Node.js版本管理到IDE配置的全流程。文章深入探讨了包管理器选择、依赖锁定、网络镜像加速等关键环节,并提供了开发与构建过程中典型问题的排查思路与解决方案,旨在帮助开发者高效避坑,顺利搭建跨平台桌面应用开发环境。

w3x4y的博客 292

Ubuntu 18.04 部署 code-server:安全稳定云端 IDE 实战指南

code-server 是基于 VS Code 内核构建的 Web 端远程开发环境,其核心原理是将完整 IDE 运行时(含终端、调试器、插件系统)封装为 HTTP/HTTPS 服务。技术价值在于消除多端环境差异、实现零配置协作开发,显著提升团队复现性与审计能力。典型应用场景包括远程开发、教学沙箱、外包交付及 CI/CD 前置编码验证。本文聚焦 Ubuntu 18.04 LTS 平台,深入解析 systemd 服务化管理、Nginx 反向代理与 WebSocket 支持、Let’s Encrypt HTTPS

weixin_30660027的博客 456

ADF4002分频器避坑指南:常见配置错误及解决方案

本文深入解析了ADF4002分频器在实战应用中的常见陷阱与解决方案。内容涵盖寄存器配置逻辑、硬件PCB布局要点、软件驱动时序细节及系统化调试方法,重点阐述了如何避免因配置错误导致芯片无法正常工作的问题,帮助工程师高效完成高精度频率合成系统设计。

weixin_29192141的博客 95

Ubuntu 18.04 下构建可离线部署的 Strict 模式 Snap 应用

Snap 是一种基于 SquashFS 的应用打包与沙盒运行技术,其核心原理是通过声明式接口(plugs/slots)、运行时依赖隔离及 strict confinement 实现跨发行版、可审计、可回滚的软件交付。该技术在边缘计算、工业嵌入式和长周期运维场景中具备显著工程价值——尤其当目标系统锁定 Ubuntu 18.04 等 EOL 但仍在产线服役的 LTS 版本时,Snap 成为兼顾安全性、确定性与离线部署能力的务实选择。本文聚焦 Snap 打包(packager)与内网发布(publier)两大关键

weixin_30797199的博客 418

【k8s实战】 在离线项目混部 通过kubeflow(tf-operator)部署TensorFlow机器学习任务+prometheus/grafana监控资源使用全过程(最新 图文)

目录在离线混合部署概念最新版kubeflow部署TensorFlow部署二级目录三级目录 在离线混合部署概念 先举一个例子,众所周知的天猫双十一当天的流量非常之大,那么就需要成百上千台服务器构成一个超大集群来提供计算能力,但是双十一过去之后,集群资源就面临着浪费的局面。假设业务分为在线和离线两种模式:在线任务需要资源相对较少,但要求响应时间短;离线任务则不需要对任务进行迅速响应,但是计算量相对较大、占用资源多。那么我们应该怎么在K8S集群上完成这两种业务的部署、并且使得CPU利用率始终维持在一个比较高的水平

Eros1on的博客 1545

cuRobo 入门教程(一)基于CUDA的机器人运动规划加速库

cuRobo是一款基于CUDA加速的机器人算法库,提供运动学计算、碰撞检测、轨迹优化等功能。该库采用并行优化技术,在GPU上实现高效运算,比现有方案快60倍。cuRobo支持多种机器人模型和环境表示,包含正向/逆向运动学、无碰撞轨迹生成、模型预测控制等核心算法,并可与IsaacSim等仿真平台集成。其特点包括:1) 支持多种碰撞检测方式(长方体/网格/深度图像);2) 提供批量环境处理和实时世界更新;3) 通过CUDA Graphs加速优化迭代;4) 在Jetson Orin等平台实现毫秒级运动规划。安装支

2506_90492529的博客 1924

Ubuntu 22.04 安装最新版 R:绕过 apt 旧包与源码编译陷阱

R 语言是统计计算与数据科学的核心开源环境,其运行依赖严格的版本兼容性、C/C++ 编译工具链及系统级动态库(如 libssl、libgfortran)。Ubuntu 22.04 官方 apt 源仅提供 R 4.1.2,远落后于 CRAN 当前稳定版(4.4.x),导致 install.packages() 失败、tidyverse 生态无法加载、Bioconductor 安装中断等典型问题。根本原因在于发行版冻结策略与 R 社区半年迭代节奏的结构性冲突。CRAN 官方 APT 仓库(jammy-cran4

weixin_30924239的博客 444

影楼精修-高低频磨皮算法解析

本文介绍了像素蛋糕软件中的高低频磨皮算法原理及实现思路,抛砖引玉。

Trent1985的专栏 2255
上一篇: Ubuntu18 安装opencv-python并解决pip安装速度慢问题
下一篇: Ubuntu18 error: invalid device function
元宇宙MetaAI
博客等级 码龄10年 331粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值