GraphGen 在我的电脑上不能运行成功问题的解决

73 篇文章 0 订阅
17 篇文章 0 订阅

1 介绍

最近,由于研究的需要,接触到了两个人工数据集(Synthetic dataset) 生成程序,它们能够生成加标签的无向的联通图数据,供研究图索引和图匹配的人们作为数据使用。一个是GTgraph,虽然也经历了波折,最终在我的Ubuntu14.04 台式机运行成功了;另外一个是GraphGen,更是让我费尽周折,经过我坚持不懈的努力,最终在我的笔记本电脑上利用模拟器(Simulator) Simics 上安装Solaris 8 SPARC操作系统得以运行成功。这两个图形数据生成器都编制于2006年,可能是由于最近操作系统和软件的发展,直接在自己的电脑上运行往往不能成功,需要做相应的设置,采取一定的方法才能成功。本文所讲的是如何成功运行程序GraphGen。

2 GraphGen 在Ubuntu系统上不能成功运行的错误提示信息及分析

因为在该程序的主页上,作者仅仅说
               The executable runs in a Unix machine.
我自然而然地就想到在我的台式机运行该程序,上面安装有最新版本的Ubuntu14.04操作系统。运行的结果没有成功,如图1所示。根据错误提示信息,我开始到网上寻找相应的解决方案,可是一直找不到,该程序始终是不可运行的状态。我甚至给其中的一个作者发Email,他建议我去问另一个作者。因为需要用英文写Email,我又感叹自己的英文书信礼仪懂的不够,懒得学习相应的英文书信书写礼仪,就咬定报着一颗不放松的心,非要亲自把该问题解决才能去做其他的事情,自己的心情才会感觉不会堵的慌。通过网络上的学习,我利用file 命令查看了GraphGen和Bash程序的类型(参见图1),明白了问题之所在:台式机是64-bit LSB X86架构下的CPU,而GraphGen 是只能在SPARC 架构下的CPU下运行。

Figure 1: 在Ubuntu上运行程序GraphGen
    SPARC 类型的CPU是Sun公司推出的,与X86类型的CPU具有不同的指令集,它主要用于高端的服务器市场,并且运行其上的操作系统一般为Solaris 系统,也是有Sun 公司开发。当然,直接保证该程序顺利运行的解决方案是,找一台SPARC CPU类型的电脑,上面运行的是Solaris 操作系统,然后在其上运行GraphGen程序,肯定能够运行成功。可视这样的电脑很难找,我周围的电脑都是基于X86 架构下的CPU,要么是Intel系列的,要么是AMD系列的,全实验室也没有。去买一台那样的电脑,代价又太大,行不通。

3 虚拟机解决方案的初步试探

我笔记本电脑上安装有Virtual Box 虚拟机软件,自然就想到了通过虚拟机的方法直接在Virtual Box上面安装Solaris SPARC操作系统。我下载了Solaris 8SPARC 操作系统镜像文件,开始在Virtual Box中安装它,可是从一开始就会出现致命错误提示(fatal error: ...)。没辙了,继续利用Google在网络上探索问题的解决方案,发现:Virtual Box 和 Mware 这类的虚拟机环境不会虚拟硬件环境,即电脑本身是什么类型的CPU,你就必须安装该类型CPU支持的操作系统,而其他类型CPU支持的操作系统就不会安装成功。它们只虚拟操作系统,不虚拟硬件环境。
    看来,通过Virtual Box 和VMware这条路行不通。最终我找到了Simics 这个模拟器,它能够虚拟安装不同类型CPU支持的操作系统。我就顺着这条路一直走了下去,成功运行了GraphGen程序。

4 成功运行GraphGen程序的具体解决方案

步骤如下:
  •  安装Simic 3.0.4 模拟器软件(虽然该版本比较老一点,但它不影响问题的解决);
  •  在Simics 上安装Solaris 8 SPARC 操作系统。我选用的iso 镜像文件为sol-8-u7-sparc-v1.iso 和sol-8-u7-sparc-v2.iso。
  •  在Solaris 8 SPARC 上面安装gcc version 2.95.1,安装文件选用gcc-2.95.1-sol8-sparc-local.gz。你只要选用gcc version 2.95.x 系列就行。
  •  在target 操作系统Solaris 8 SPARC 上面运行程序GraphGen,得到成功运行结果。
    上面都是写概要的步骤,具体怎样执行上面的步骤,请参见我前面写的系列博文。

5 感悟

通过该问题的驱动,我学到和了解了以下内容:
  1. 了解了除了X86 架构的CPU外,还存在有一种SPARC 类型的CPU;
  2.  感受和使用了Solaris 8 操作系统,虽然我一直使用的是Ubuntu 操作系统,但它们都属于Unix系列,能方便的转入Solaris系统的使用。细微差别的存在,但不影响顺利使用。
  3.  对Shell的使用更加得心应手,感受了SH shell 和Bash 两种风格。
  4.  带动了对UltraISO、Virtual Box、Simics、Avira等软件的学习。
    总之,收获很大。在解决某个问题的过程中,感觉该问题很难解决,不知道什么时候能够成功解决,但真正解决了该问题,又会感觉该问题很容易。最关键的是保持一个良好的态度,不气馁,坚持不懈,才能成功。Have a fun!!
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值