实验室服务器 环境配置记录

news2024/10/6 10:26:07

前言

本篇文章为本人自己(Toniht)在实验室服务器上配置环境的一些记录,我也是个半吊子,很多步骤都不知其所以然,主打一个能用就行。主要目的是方便后续遇见问题及时定位,或者后续再次需要时不用上网到处查找。次要目的是希望能帮助到有需要的人。

写给参考的人:本篇文章中你可能会看见的一些地址中的昵称:Toniht为我本人昵称,tjx为名字缩写,因为实验室服务器分配需要记录,方便查人不让用昵称,所以本文中Toniht和tjx会比较混乱,但是都是我的id就对了。没说联网的,默认都是离线安装,即实验室电脑下载后,MobaXterm传到服务器上
by Toniht 2023.07.11

1. Cmake

Linux非管理员安装cmake以及所遇到的坑
记录时已经安装完成。
下载地址:https://cmake.org/download/

步骤来源于上面的教程,我的配置地址--prefix=/home/server/common/tjx/tools/cmake
$ tar -zvxf cmake-3.21.3.tar.gz
$ cd cmake-3.21.3
$ ./bootstrap
$ ./configure --prefix=/home/xxx/cmake            !!!注意,要在自己用户名下的目录配置,如果不加--prefix会默认在root目录下配置,这样后面make install时没有sudo权限会失败
$ make
$ make install

2. eigen

安装完,又卸了
还得是管理员权限,因为是第一次用服务器不熟悉非root环境安装的流程,以为依赖也要靠自己,所以安装了很久,没想到最后还是删掉了,直接联系实验室的管理员帮忙安装了依赖。几分钟解决了我一天半硬是没搞明白的东西。

依赖安装
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
sudo apt-get install libeigen3-dev

记录时已经安装完成。
好像是换网址了?网上很多教程的下载地址都不行了。
新的网址:https://gitlab.com/libeigen/eigen

我的步骤(仅供参考):

我下载了老版本3.3.7,然后

$ tar -zvxf eigen-3.3.7.tar.gz
$ cd eigen-3.3.7
$ mkdir build && cd build
cmake时,因为默认好像是/usr/local/,因为服务器没有root权限,不改后面没法make install
$ cmake -DCMAKE_INSTALL_PREFIX=/home/server/common/tjx/tools/eigen ..
$ make install

3. ceres-solver

边搞边记录
下载地址:https://github.com/ceres-solver/ceres-solver/tags
我下载的是1.14.0版本

正常的话我认为cmake命令应该是正常执行的,但是报错了,报错以及解决方法见ERROR 3.1
管理员安装依赖后,一切都简单起来了,报错也没了。

$ tar -zvxf ceres-solver-1.14.0.tar.gz
$ cd ceres-solver-1.14.0
$ mkdir build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/home/server/common/tjx/tools/ceres ..

ERROR 3.1
问题描述:
cmake报错,显示为找不到eigen3,但是上面已经正常安装了eigen3.3.7,有可能是eigen版本问题,但是我这里主要是找到的eigen地址不对劲。

  • 报错中Could not find file: /home/server/common/tjx/include/eigen3/Eigen/src/Core/util/Macros.h,对比后发现,我的eigen安装在了~/tools/eigen,但是定位在了~/
  • 另外,经查,Macros.h文件也并不存在。

在这里插入图片描述
解决方法:
在ceres-solver-1.14.0/cmake/FindEigen.cmake文件中,找到了报错位置
在这里插入图片描述
在这里插入图片描述
先在FindEigen.cmake文件中找到

set(EIGEN_INCLUDE_DIR "${EIGEN3_INCLUDE_DIR}" CACHE STRING
"Eigen include directory" FORCE)

并将其注释掉。防止后续传入参数时会被重新set为错误值。如图:
在这里插入图片描述

另外,经查,报错还有一个原因就是报错中的Macros.h文件,可能是因为是离线安装的,所以并不存在,我认为有两种解决方法:1. 注释掉读取Macros.h的代码,并将其EIGEN_VERSION直接设置为对应版本 2. 对应目录增加一个Macros.h文件,并加入版本信息
我选择了第二个,Macros.h文件内容:

#define EIGEN_WORLD_VERSION 3
#define EIGEN_MAJOR_VERSION 3
#define EIGEN_MINOR_VERSION 7

执行指令cmake -DCMAKE_INSTALL_PREFIX=/home/server/common/tjx/tools/ceres -DEIGEN_INCLUDE_DIR=/home/server/common/tjx/tools/eigen/include/eigen3 -DEIGEN3_INCLUDE_DIR=/home/server/common/tjx/tools/eigen/include/eigen3 ..
(其中CMAKE_INSTALL_PREFIX在设置ceres安装位置,EIGEN_INCLUDE_INCLUDE_DIR和EIGEN3_INCLUDE_DIR是在设置参数值)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/744256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从0到1学习Yalmip工具箱(1)-入门学习

博客中所有内容均来源于自己学习过程中积累的经验以及对yalmip官方文档的翻译:YALMIP 1.Yalmip工具箱的下载与安装 1.1下载 Yalmip的作者是Johan Lfberg,是由Matlab平台编程实现的一个免费开源数学优化工具箱,在官网上就可以下载。官方下载…

8-1-1、kuberbetes学习-service、deployment、ReplicaSet、pod

Kubernetes资源对象Pod、ReplicaSet、Deployment、Service之间的关系_CodingSoldier的博客-CSDN博客 Pod、ReplicaSet、Deployment、Service之间的关系如下图: deployment根据pod的标签关联到pod,是为了管理pod的生命…

Unity 事件函数的执行顺序

脚本生命周期流程图 Awake:在所有 Start 函数之前,以及 prefab 实例化之后调用。(如果一个 GameObject 在启动期间处于非活动状态,则在激活之前不会调用它。)OnEnable(仅在对象处于活动状态时调用&#xff…

为你揭开ai绘画女生软件的神秘面纱

黄琳:嘿,我最近听说了一种叫做ai绘画的东西,你知道它是什么吗? 罗娜:听说这是一种通过人工智能技术来生成艺术作品的过程和方法。 黄琳:哦,那它生成的效果如何呢?有什么软件可以实…

2023IKCEST “一带一路” 国际大数据竞赛重磅启动!

2023IKCEST第五届“一带一路”国际大数据竞赛暨第九届百度&西安交大大数据竞赛,由联合国教科文组织国际工程科技知识中心(IKCEST)、中国工程科技知识中心(CKCEST)、百度及西安交通大学共同主办,旨在放眼…

LINUX安装nginx详细步骤,部署web前端项目

1. 安装依赖包 //一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2. 下载并解压安装包 可以去https://nginx.org/download里面找最新的包,nginx-1.25.1.tar.gz及以后的,里面资源比较多,耐心寻…

飞行动力学 - 第7节-起飞性能 之 基础点摘要

飞行动力学 - 第7节-起飞性能 之 基础点摘要 1. 气动特性2. 起飞性能3. 性能指标3.1 地面滑跑阶段3.2 起飞滑跑距离估算 4. 跑道4.1 编号4.2 等级 5. 参考资料 1. 气动特性 起飞不仅需要考虑升力,还需要在有限跑道长度上加速,因此襟翼放出的角度不能太大…

Claude 2正式上线;Prompt在手,天下我有

🦉 AI新闻 🚀 Claude 2正式上线,AI能力全面提升 摘要:Claude 2正式上线!作为ChatGPT的强力挑战者,Claude 2的到来绝对是一个重磅事件。Claude 2性能更强,响应更快,并正式推出了网页…

MPI转以太网模块西门子200以太网通讯设置

你有没有想过,微生物发酵行业的生产控制可以如此先进?今天我们要介绍的是一项关于MPI转以太网模块在发酵集散控制系统中的应用。 这个系统由上位机和下位机组成,可以实现工程师站和操作员站之间的无缝连接,同时还可以实现远程工作…

微信小程序之网络数据请求 wx:request的简单使用

网络数据请求 1. 网络数据请求 wx:request2. 请求格式3. 关闭request的合法检验 1. 网络数据请求 wx:request 出于安全性方面的考虑,小程序官方对数据接口的请求做出了两个限制:只能请求 HTTPS 类型的接口必须将接口的域名添加到信任列表中. 在自己的微…

数智化转型下,财务共享各类RPA建设如何避坑?

企业数智化转型时代的热词——RPA是业务流程优化的利器之一。但对于部分非IT人士对RPA在企业管理领域的运用优势及实施注意点还不太了解,今天与大家快速科普一下。 RPA全称为Robotic Process Automation, 即机器人流程自动化,是一种能够在计算机/手机等…

【C++】 Qt-线程挂起、恢复和退出

文章目录 线程挂起和恢复内核对象线程退出 线程挂起和恢复 我们给设置线程的函数创建一个线程句柄用来接收返回值,并且将状态改为挂起状态 然后在循环中当第五秒时恢复线程,第八秒时连续挂起两次线程,并且返回输出挂起计数器的值&#xff08…

【C++ OJ练习】7.字符串相加

1.题目链接 力扣 2.解题思路 拿到每个字符后 减去字符0 转化成对应的数字 再相加即可 倒着加 因为有进位的情况 最后头插或 者尾插加逆置 3.代码 class Solution { public:string addStrings(string num1, string num2) {//倒着往回加int end1 num1.size() - 1;int end2…

走进Vue2飞入Vue3

✅作者简介:大家好,我是Cisyam,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Cisyam-Shark的博客 💞当前专栏: 前端相关 ✨特色专栏&…

C语言中的宏

宏定义又称为宏替换,简称“宏”,在C语言预处理阶段被处理,编译器会根据宏定义进行文本替换。这样做的好处有许多,它可以为程序员在编程时提供方便,并能在一定程度上提高程序的运行效率。 本文将通过一部分场景&#xf…

原码、反码和补码之间的转换

(꒪ꇴ꒪(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误…

DataEase中点数据集,报Data source connection exception: Access denied for user错误

【现象】&#xff1a; 2023-07-12 10:53:19,436 DEBUG .DeEngineMapper.selectByExampleWithBLOBs: 137 - < Total: 1 java.sql.SQLException: Access denied for user ****** (using password: YES)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965…

MySQL基础篇第8章(聚合函数)

文章目录 1、聚合函数介绍1.1 AVG和SUM函数1.2 MIN和MAX函数1.3 COUNT函数 2、GROUP BY2.1 基本使用2.2 使用多个分组2.3 GROUP BY中使用WITH ROLLUP 3、HAVING3.1 基本使用3.2 WHERE和HAVING的对比 4、SELECT的执行过程4.1 查询的结构4.2 SELECT执行顺序4.3 SQL的执行原理 1、…

【MQ】Windows上RabbitMQ的安装与启动

文章目录 下载Erlang安装RabbitMQ 下载Erlang RabbitMQ基于Erlang语言&#xff0c;因此使用RabbitMQ之前需要先安装Erlang&#xff0c;如下 Erlang语言下载 这里我是用的是25.2.2这个版本&#xff0c;我的机器是64bit的&#xff0c;所以下win64的即可。 下载完毕安装包之后点…

Wholebody 3D keypoint估计:从H3WB开始

目录 前言一、&#xff28;&#xff13;&#xff37;&#xff22;1.下载2.标注格式3.任务分析验证评估 总结 前言 这份工作是首次尝试去检测&#xff13;D全人体姿态的工作&#xff0e;我们使用的数据集是基于Human3.6M的&#xff13;&#xff24;全人体关键点数据集&#xff…