ubuntu 16.04 安装zsim 过程及遇到的诸多坑!!!

2023-10-07 12:20

本文主要是介绍ubuntu 16.04 安装zsim 过程及遇到的诸多坑!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ubuntu 16.04 安装zsim 过程及遇到的诸多坑!!!

  • Introduction
  • Zsim下载
  • 依赖软件的安装
    • 一、gcc、g++的安装
    • 二、 pin的安装
    • 三、 libconfig的安装
    • 四、HDF5的安装
    • 五、libelfg0的安装
      • 六、小问题

Introduction

第一次写博客,主要记录在Ubuntu 16.04下安装zsim的过程和遇到的诸多坑,因为真的太坑了,不想后来者前赴后继的入坑。

Zsim下载

这个很简单,直接去git clone就行了,不需要我教吧。
https://github.com/s5z/zsim

依赖软件的安装

软件安装好了,几乎等于成功了。最坑的也是各种软件的安装!!!

从zsim的github主页可以看到,依赖的软件列表。但是其说明的配置有很大的问题,不能直接照抄照搬。
zsim上提供的安装目录:github上描述的软件依赖可以看到,主要的软件依赖是:pin、gcc、 g++、 libconfig、 hdf5、 libelfg

一、gcc、g++的安装

首先这里就有个坑,大坑
官网上说,gcc、g++的版本>=4.6就行,但其实只有4.8.5才行。( note:4.8.5就是4.8,如果你用apt-get install gcc 4.8.5是找不到的,这里也有个小坑)
所以直接用:apt-get install gcc 4.8
g++类似
(参考这篇文章进行降级:gcc降级4.8.5)

二、 pin的安装

这里也有个坑,主要是版本问题,我下了一个比较新的版本。编译zsim的时候老是报错,一直找不到问题,直到在overflostack看到可能是版本问题,才试了更早的版本,就OK了。
亲测,版本可用
下载后解压就可以了,不需要编译。
pin也需要配置环境变量,后面统一配置。

三、 libconfig的安装

我安装的1.7.2的版本,亲测可用,下载链接:libconfig
下载完成后,安装步骤为:
1.解压
2.进入到目录,打开终端
3.运行 ./configure
4. 运行 make
5. make check 可以测试安装成功没
6.最后make install
以上步骤非常简单,照着做肯定没错,主要是libconfig的版本。(注意后面统一配置环境变量)

四、HDF5的安装

HDF5的安装也是版本问题,之前两篇博客说得很模糊,给的链接跟自己用的是不同的版本。
进入HDF5的官网,你会发现有非常多的版本,static版、share版。我下载的是版本,需要编译的。share版不需要编译,里面只有很简单的文件。
链接: link.

五、libelfg0的安装

这个地方,也把我害苦了。我看zsim说要安装libelfg0,那就安吧,直接下了apk包,apkg -i 安装时,报错,还是报的依赖错误。我又尝试通过apt-get install 指令安装,发现依赖错误问题。导致我的其它软件都安不了,害惨了我。幸好有解决的办法。最后我才发现是,版本的问题,不管是libelfg-dev还是libelfg0都是Ubuntu 14中的东西,Ubuntu 16.04中只有libelf1 !!
直接,apt-get install libelfg1 ,搞定!
(怪自己没看仔细吧,┭┮﹏┭┮)

六、小问题

其它的问题暂时想不起来了,先这样吧。

这篇关于ubuntu 16.04 安装zsim 过程及遇到的诸多坑!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/157733

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异