记录Centos7 漫漫配置路
记录Centos7 漫漫配置路
- 一、 配置源
- 二、 clinfo
- 三、 PCL 配置
- 1. 依赖
- 2. eigen
- 3. boost
- 4. flann
- 5. pcl
- 四、YAML-CPP
- 五、 miniconda 安装 python3.6 和 pytorch
- 六、libbot 配置
- 1. 容易安装的依赖
- 2. 需要源码安装的依赖
- 3. [libbot](https://github.com/libbot2/libbot2)
简单地说:centos7很多依赖包都没有…有的版本也很旧 基本就在源码安装…
一、 配置源
一下东西就和我说docker有问题 源有问题,例如这种报错:
curl#7 - “Failed to connect to 2: Network is unreachable”
[Errno 14] curl#6 - “Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error”
只好重新配源 不看不知道啊!/etc/yum.repos.d/里面的源太多了!
清华,阿里,还有个什么163的
cd /etc/yum.repos.d/
# 1. 备份之前的源
mkdir repo_bak
sudo mkdir repo_bak
sudo mv *.repo repo_bak/
#2. 拉一下阿里源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sudo wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 3. 我到这一步做sudo yum makecache还是不行,所以根据网上别人的方法,需要把CentOS-Base.repo 里面的releaseserver替换成7
sudo vim CentOS-Base.repo
:%s/$releaseserver/7/g# 4. 重建缓存
sudo yum clean all
sudo yum makecache
sudo yum install -y epel-release
二、 clinfo
# 1. opencl-headers
sudo yum update
sudo yum install epel-release ocl-icd -y
wget http://rpmfind.net/linux/epel/7/x86_64/Packages/o/opencl-headers-2.2-1.20180306gite986688.el7.noarch.rpm
chmod +x opencl-headers-2.2-1.20180306gite986688.el7.noarch.rpm
sudo yum install -y opencl-headers-2.2-1.20180306gite986688.el7.noarch.rpm
# 2. clinfo
git clone https://github.com/Oblomov/clinfo.git
cd clinfo
make
sudo make install
clinfo
验证完支持OpenCL~
三、 PCL 配置
官方配置网站:https://pcl.readthedocs.io/projects/tutorials/en/latest/compiling_pcl_posix.html
github代码链接:
1. 依赖
## 1.1 安装高版本gcc gc++
## yum下载的是4.8 版本太低·
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
vim ~/.zshrc
## 插入 source /opt/rh/devtoolset-9/enable
source ~/.zshrc
## 1.2 flann依赖
sudo yum install -y lz4-devel.x86_64
## 1.3 scl
sudo yum install centos-release-scl
## 1.4 clang
sudo yum install clang-devel.x86_64
## libusb-1.0
sudo yum install libusb-devel libusbx-devel
sudo yum install libudev libudev-devel
# mpi
sudo yum install mpich-3.0-devel.x86_64
sudo yum install qt5-qtbase-devel
# metslib
wget http://35.200.10.19/centos/7/epel/x86_64/Packages/metslib-devel-0.5.3-4.el7.noarch.rpm
sudo rpm -ivh metslib-devel-0.5.3-4.el7.noarch.rpm
# QHULL
sudo yum install qhull-devel
#VTK
sudo yum install vtk vtk-devel
2. eigen
wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
cd eigen-3.4.0
mkdir build # 新建一个build文件夹
cd build # 进入build文件夹
cmake .. # 用cmake生成Makefile
sudo make install
3. boost
## 3.1 拉取源码
wget https://archives.boost.io/release/1.85.0/source/boost_1_85_0.tar.gz
tar -zxvf boost_1_85_0.tar.gz
## 3.2 下载boost 所需依赖
sudo yum -y install gcc gcc-c++ python python-devel libicu libicu-devel zlib zlib-devel bzip2 bzip2-devel
# 启动 boost 安装指南脚本./bootstrap.sh
# 安装boost 全部 模块
sudo ./b2 install --with=all
4. flann
## 4.1拉取源码
git clone https://github.com/mariusmuja/flann.git
cd flann
mkdir build
cd build
## 4.2修改cmakelist
vim ../CMakeLists.txt
# 在project(xxx)之后添加以下两行 指定c++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
## 4.3 编译 安装
cmake ..
make -j8
5. pcl
PCL配置官网
wget https://github.com/PointCloudLibrary/pcl/archive/refs/tags/pcl-1.14.1-rc1.zip
cd pcl-pcl-1.14.1-rc1/
mkdir build
cd build
cmake ..
make -j8
sudo make install
题外话:PCL后续使用的时候遇到了一个问题,cmake和make的时候都不会报错,只有运行需要引用pcld的程序时有可能会报错:libgomp 需要4.5版本的但是没有找到对应的
最后排查发现,使用的是/usr/local里的libgomp,也不知道谁编译的放过去的,
试错之路:
试图修改软连接,
成功之路:
最后发现 /usr/lib64 系统就有自带的 libgomp,但是由于/usr/local 里的优先级更高,所以获取的是 /usr/local 里的。
方案1:(简单粗暴但有可能影响别人)
cd ~
mkdir old_so_local
sudo mv /usr/local/lib64/libgomp.so.* ~/old_so_local
方案2:只影响自己
在CMakeLists.txt里 需要生成的可执行程序的target_link_libraries后加以下内容
set_target_properties(可执行程序名称 PROPERTIES LINK_FLAGS "-Wl,-rpath,/usr/lib64")
示例:
add_executable(OcSerial tests/main.cpp planner/ocSerial.cpp)
target_link_libraries(OcSerial ${PCL_LIBRARIES} )
set_target_properties(OcSerial PROPERTIES LINK_FLAGS "-Wl,-rpath,/usr/lib64")
四、YAML-CPP
git clone https://gitee.com/mirrors/yaml-cpp.git
cd yaml-cpp
mkdir build
cd build
cmake ../ -DYAML_BUILD_SHARED_LIBS=on ..
make -j4
sudo make install
五、 miniconda 安装 python3.6 和 pytorch
cd ~# 拉取miniconda2 (脑子抽了没下miniconda3)wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-4.7.12.1-Linux-x86_64.shchmod +x Miniconda2-4.7.12.1-Linux-x86_64.sh./Miniconda2-4.7.12.1-Linux-x86_64.sh # 修改zshrc xxx为用户名
export PATH=$PATH:/usr/local/cmake/bin:/home/xxx/miniconda2/bin
# 修改完之后重启一个终端
source ~/.zshrc
# 新建环境
conda create -n py36 python=3.6
conda init zsh
conda activate py36
# 更新pip
pip install --upgrade pip
终端输入nvidia-smi 查看cuda能支持的最高版本
nvidia-smi输出的CUDA Version是指该显卡驱动能支持的最高CUDA Toolkit版本。
具体来说,nvidia-smi显示的CUDA Version是当前驱动的最高支持版本。由于CUDA是向下兼容的,所以最高支持版本以下的CUDA版本都是支持的。例如,如果nvidia-smi显示最高版本支持为11.4,那么11.4以及11.4以下的版本都是支持的。
首先根据python版本确定需要的pytorch版本
python3.6-> 最高支持torch 1.10
前往网址pytorch 版本选择
找到1.10 对应的cuda11.1的版本
# 下载torch torchvision
pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html
六、libbot 配置
Requirements
GLib 2.0+
CMake >=3.1
LCM (http://lcm.googlecode.com) 💡
Java (Sun JDK or OpenJDK strongly preferred)
Python
GTK+ 2.0+ (required by bot2-vis)
OpenGL (required by bot2-vis)
GLUT
PyGTK
1. 容易安装的依赖
#java
sudo yum install java-1.8.0-openjdk-devel
#GLib 2.0+
sudo yum install glib2-devel
sudo yum install glibc-static.x86_64
udo yum install build-essential
sudo yum install autoconf automake libtool
sudo yum install gdk-pixbuf2-devel.x86_64
# GTK+ 2.0+ (required by bot2-vis)
sudo yum install gtk2-devel.x86_64
# GLUT
sudo yum install freeglut-devel.x86_64
2. 需要源码安装的依赖
# 1. lcm 官网:http://lcm-proj.github.io/lcm/
git clone https://github.com/lcm-proj/lcm.git# 2. 安装cmake3.1以上版本
# 因为: yum install的cmake版本小于3.1 会报错
sudo yum remove cmake
wget https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2.tar.gz
tar -zxvf cmake-3.17.2.tar.gz
cd cmake-3.17.2
./bootstrap --prefix=/usr/local/cmake -- -DCMAKE_BUILD_TYPE:STRING=Release
make
sudo make install
## 然后修改~/.zshrc
export PATH=/usr/local/cmake/bin:$PATH## 3. 缺少 lcm-python
# 本机python2.7 pip lcm 没有
# 下载了conda 和python3.6 (见四、) 并且更新了pip之后
pip install lcm
cmake .. -DCMAKE_BUILD_TYPE=Debug
make -j8
sudo make install
wget https://www.lua.org/ftp/lua-5.4.1.tar.gz
tar -zxvf lua-5.4.1.tar.gz
yum install -y readline-devel
make linux test
sudo make install
3. libbot
git clone https://github.com/libbot2/libbot2.git
cd libbot2
sudo make BUILD_PREFIX=/usr/local
sudo yum install -y glib-devel.x86_64
相关文章:

记录Centos7 漫漫配置路
记录Centos7 漫漫配置路 一、 配置源二、 clinfo三、 PCL 配置1. 依赖2. eigen3. boost4. flann5. pcl 四、YAML-CPP五、 miniconda 安装 python3.6 和 pytorch六、libbot 配置1. 容易安装的依赖2. 需要源码安装的依赖3. [libbot](https://github.com/libbot2/libbot2) 简单地说…...

论文 | OpenICL: An Open-Source Framework for In-context Learning
主要内容: 2. 提供多种 ICL 方法: 3. 完整的教程: 4. 评估和验证: 背景: 随着大型语言模型 (LLM) 的发展,上下文学习 (ICL) 作为一种新的评估范式越来越受到关注。问题: ICL 的实现复杂…...
尚硅谷rabbitmq 2024 Federation配置 第60节答疑
rabbitmq联邦队列怎么做 要在 RabbitMQ 中设置联邦队列(Federated Queues),你需要遵循以下步骤。联邦队列允许你在不同的 RabbitMQ 实例之间共享队列,从而实现消息的分布式处理和高可用性。 ### 步骤 1:安装 RabbitMQ…...

Ubuntu编译MySQL驱动连接QT
1、安装MySQL 安装MySQL软件以及驱动。 sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt-get install libmysqlclient-dev 2、编译qmysql驱动 2.1、修改mysql.pro 找到Qt源码中的mysql.pro项目文件,一般位于:/opt/Qt/5.15…...

时间序列预测(七)——梯度消失(Vanishing Gradient)与梯度爆炸(Exploding Gradient)
目录 一、定义 二、产生原因 三、解决方法: 梯度消失与梯度爆炸是深度学习中常见的训练问题,它们主要发生在神经网络的反向传播过程中,使得模型难以有效学习。 一、定义 1、梯度消失(Vanishing Gradient)…...

ARM assembly 12: GCD(最大公约数)计算
首先,我们看看GCD(Greatest Common Divisor)的CPP实现 int gcd(int a, int b) {if(b 0) return a;return gcd(b, a%b); }基于下面的gcd.s文件,我们尝试实现gcd函数 //gcd.s .global main .extern fopen, fprintf, fclose, printf, atoi.section .dat…...

「实战应用」如何用图表控件LightningChart可视化天气数据?(一)
LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学…...

基于深度学习的细粒度图像分析综述【翻译】
🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 基础信息0 摘要1 INTRODUCTION2 识别与检索 RECOGNITION VS. RETRIEVAL3 问题和…...

yolo笔记
目录 Anaconda安装Pytorchyolov5下载部署labelimg安装 Anaconda安装 官网链接 https://www.anaconda.com/ 官网链接链接: 官网链接https://www.anaconda.com/ 直接下最新版 (网站会自动检测系统,我是在Windows环境截图的) bash Anaconda3-XXXX-Linux-x86_64.sh一…...

Android平台RTSP|RTMP播放器PK:VLC for Android还是SmartPlayer?
好多开发者,希望在Android端低延迟的播放RTMP或RTSP流,本文就目前市面上主流2个直播播放框架,做个简单的对比。 VLC for Android VLC for Android 是一款功能强大的多媒体播放器,具有以下特点和功能: 广泛的格式支持…...

IDEA下面的Services不见了(解决方案)
大家使用IDEA有时候新打开个项目这个东西不会自动出现如何解决 配置方法: 右上角打开进入Edit Configurations 进入后我们看到里面是没有SpringBoot相关内容的 点击加号选择SpringBoot 然后Apply Ok即可,现在IDEA下面就会出现Service了,打…...

【pyspark学习从入门到精通7】DataFrames_2
目录 创建 DataFrames 生成我们自己的 JSON 数据 创建 DataFrame 创建临时表 简单的 DataFrame 查询 DataFrame API 查询 SQL 查询 创建 DataFrames 通常,您会通过使用 SparkSession(或在 PySpark shell 中调用 spark)导入数据来创建 …...

Server-Sent Event(SSE) GPT场景实现
关于SSE的基本概念可以看一下阮一峰老师的这篇文章:Server-Sent Events教程。 现在比较常见的场景是gpt回答的时候类似下图这种打字机的情况,因为AI一般响应时间会比较长,使用这种方式能让人别等那么久,是一个相对比较良好的用户…...
美国Honeywell霍尼韦尔气体分析侦测器传感器MIDAS-K-HCL说明书
上海德奥达 ---Honeywell霍尼韦尔气体分析侦测器传感器MIDAS-K-HCL是一款用于检测氯化氢气体的高性能传感器。以下是该传感器的技术参数和描述:技术参数:-测量范围:0-50ppm-灵敏度:0.5ppm-响应时间:≤30秒-电源&…...
L1练习-鸢尾花数据集处理(分类/聚类)
背景 前文(《AI 自学 Lesson1 - Sklearn(开源Python机器学习包)》)以鸢尾花数据集的处理为例,本文将完善其代码,在使用 sklearn 的部分工具包基础上,增加部分数据预处理、数据分析和数据可视化…...

javaweb以html方式集成富文本编辑器TinyMce
前言: 单一的批量图片上传按钮,禁用tinymce编辑器,但是还可以操作图片编辑; 多元化格式的富文本编辑要求; 采用tinymce实现。 附: tinymce中文手册网站: http://tinymce.ax-z.cn/download-all.…...

大学生福音!用GPT-4o几分钟内轻松读懂一篇论文!
文章目录 一、读论文智能体:PDFAI操作指导阅读论文上传论文并分析进一步研究导出可用代码 二、感受 一、读论文智能体:PDFAI 操作指导 ChatGPT 4o国内直接访问地址:https://share.xuzhugpt.cloud/ 上plus的车 输入购买的授权码即可。 默认…...
微信小程序昵称获取
<view class"shouquan_list"> <label>昵称</label> <input type"nickname" value"{{nichengshoudong}}" bindinput"bindKeyInputnicheng" placeholder"请输入昵称" placeholder-style"color:r…...

SQL进阶技巧:如何找出开会时间有重叠的会议室?| 时间区间重叠问题
目录 0 场景描述 1 数据准备 2 问题分析 方法1:利用 lateral view posexplode()函数将表展开成时间明细表 方法2:利用数学区间讨论思想求解 3 小结 如果觉得本文对你有帮助,想进一步学习SQL语言这门艺术的,那么不妨也可以选…...
Educational Codeforces Round 170 (Rated for Div. 2) D 题解
to sum of:前三题都是究极水题,补补D题吧,dp太钛肽弱了.. Problem - D - Codeforces--Attribute Checks 思路:首先得坚定地确定m^2,然后剩下的复杂度思考怎么优化.. key:每一个0只考虑影响到下一个0之间的数字!! 定义dp[i][j]为,在有i个能力点时.点了…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...