偶尔看到BeyondCompare这款优秀的Windows平台上的文件对比工具出了Linux版,因而抱着必定要在Linux上运行起来的想法开始了CentOS上的征程。php
简单说一下操做系统,个人是CentOS 64bits version。这是最最重要的背景。linux
首先从http://www.scootersoftware.com/download.php下载Linux下的tar.gz文件包(版本号是3.3.8.16340),而后解压并运行install.sh(最好是root权限),将安装路径设置为/usr/local/bc,安装完毕后将beyondcompare的bin路径加入path, 简单讲就是在.cshrc or .bashrc中加入$path的设置,例如在csh中能够set path=($path /usr/bin/bc/bin)便可c++
而后火烧眉毛的去运行bcompare。获得的确实以下信息:缓存
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directorybash
显然是没有这个文件。通常对付Linux下的错误,就是根据错误提示缺啥补啥。如今缺ld-linux.so.2,那就补一下呗。当时很奇怪为啥是32位库,感受应该是64bits才对,那个应该是/lib64/ld-linux.so.2之类的文件名才对,没想那么多,先运行yum -y install glibc.i686再说。工具
此次应该能够看到bc的真面目了吧。再次激动的运行bcompare。此次出来的错误更多google
Some Shared Libraries were not foundspa
linux-gate.so.1 => (0×00989000)
libz.so.1 => /lib/libz.so.1 (0x00bd5000)
libqtc.so.1 => /home/peter/lib/beyondcompare/libqtc.so.1 (0×00110000)
libX11.so.6 => /usr/lib/libX11.so.6 (0×00626000)
librt.so.1 => /lib/librt.so.1 (0x009d0000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00ed4000)
libdl.so.2 => /lib/libdl.so.2 (0x0075f000)
libc.so.6 => /lib/libc.so.6 (0×00764000)
libqt-mt.so.3 => /home/peter/lib/beyondcompare/libqt-mt.so.3 (0xf708e000)
libXext.so.6 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x009d9000)
libm.so.6 => /lib/libm.so.6 (0x0091d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00f37000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0×00947000)
/lib/ld-linux.so.2 (0x008fd000)
libXrender.so.1 => not found
libXrandr.so.2 => not found
libXcursor.so.1 => not found
libXinerama.so.1 => not found
libXft.so.2 => not found
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00ac4000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0098a000)
libXext.so.6 => not found
libSM.so.6 => not found
libICE.so.6 => not found
libXau.so.6 => /usr/lib/libXau.so.6 (0×00967000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00b5c000)操作系统
从提示中感受是缺qt3,因而问了问google,肯定一下答案是安装qt3,想yum -y install qt3应该能够work了。however,错误依旧,这是想起刚才的疑惑,直接去file它的可执行文件/usr/local/bc/lib/beyondcompare/BCompare,果真它是32bit的,那就不用多说了,刚才安装的qt3是不匹配的,须要安装qt3.i686才行(yum -y install qt3.i686)。blog
安装qt3.i686完毕,运行bcomare,终于看到了久违的BeyondCompare。
剩下的事情各位看官自行解决吧。
此文中的错误信息提示来自google搜索结果,由于本人的terminal缓存的信息丢失了。最后再总结一下,beyondcompare没有出64bit的linux版本,因此安装所需的包必须是32bit的,这就是为何必须安装glibc.i686和qt3.i686的缘由。但愿此文可以解决你遇到的问题。
本文转自blogs.joysight.com之技术研发