以前采用insight+win虚拟机的开发方式有点不太智能化,然后gdb调试也有点不方便,故而思索有没有好一点的ide可以用用。
最后决定采用anjuta试试。
本人一直比较中意centos,本人手下的linux服务器都是采用centos,后台服务器之前是采用ubuntu开发的,但这次决定用,
centos,顾以迅雷不及掩耳之势安装了虚拟机,163下载了centos6.8。然后开始了安装anjuta艰辛的历程,这个历程是后来我
才发现比较艰辛的,之前想着以本人linux深厚的造诣,安装个东西还从来没有尴尬过,虽然网上好像没有找到谁在centos下安
装过anjuta。
直接yum install anjuta,发现根本没有。于是找直接源码,
wget https://download.gnome.org/sources/anjuta/3.22/anjuta-3.22.0.tar.xz,选择3.22,
xz -d anjuta-3.22.0.tar.xz
tar xv anjuta-3.22.0.tar
cd进去./configure,fuck了,提示gtk版本要3,本机是2,郁闷了。yum update 然后重新yum install gtk* 显示已经最新,为2.
没办法,源码。当然在此之前要先,
yum install git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel
e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel不然最基本的东西都没有。
gtk源码,
git clone git://git.gnome.org/gtk+
wget http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.0.tar.xz
两种都可以,自己选吧,git的是最新的,可能已经是4了,我用的是第二种。
结果./configure后发现的确一推的东西,最起码的是glib版本太低,然后下载glib高版本,
wget http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.50/glib-2.50.0.tar.xz
注意这里是glib,不是glibc。安装之前可以卸载掉glib老版本,如下命令:
rm -rf /usr/bin/glib*
rm -rf /usr/include/glib-2.0
rm -rf /usr/lib/glib*
rm -rf /usr/lib64/glib*
rm -rf /usr/lib64/glib-2.0
然后提示却pcre,然后wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
安装pcre的时候有个郁闷的地方,安装本身很顺利,但后面别的库(应该是glib库configure的时候)提示有问题,说不
支持utf8或者unicode,但pcretest -C,发现明明支持的,肿么办,overflow上老外也在问这个问题,当然,编译的时候
肯定是--enable-unicode-properties --enable-utf8了的。后面还是看看中国人怎么搞的,网络上找啊找,最后发现有人
--enable-unicode-properties --enable-pcre16 --enable-pcre32 --disable-static --enable-utf8
一试居然好了,fc了,折腾了好几个小时。
再安装cairo,wget https://www.cairographics.org/releases/cairo-1.14.6.tar.xz
再安装atk,wget http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.tar.xz
再安装pango,wget http://ftp.gnome.org/pub/gnome/sources/pango/1.40/pango-1.40.0.tar.xz
安装pango的时候也出现了问题,提示没有一个backends,什么any backends,于是查看freetype,查看cairo,发现都安
装了。奇怪了,读configure,发现就找不到我一度都想放弃,但最后感觉没道理啊,继续折腾,各种网站都找了,就是没
办法。抱着笔记本回宿舍继续搞,好烦躁。想想我为什么要用centos,又想想不能这样放弃,我的高手。于是继续......
最后找到官网,看dependents,发现freetype,cairo,fontconfig,都有了啊。
笔记本也是垃圾笔记本,配置蛮高,键盘触摸板点几下都不反应,鼠标插上光标躲来躲去,闪来闪去,差点就砸了这破本子。
怀疑没安装harfbuzz,于是yum install 各种,都体系已经最新了。于是
wget http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.3.3.tar.bz2
安装好了还是没用。最后再想,是不是fontconfig是不是也要源码安装,姑且试试,于是最后好像安装了fontconfig,好了。
具体过程呢是这样的,我查了官网,看到
Pango Dependencies
Required
Fontconfig-2.12.1 (must be built with FreeType-2.7 using HarfBuzz-1.3.3) and GLib-2.50.0
于是都安装了,有的源码,有的yum,好像大多数读是源码,居然好了。
fc了,不是本来就有的嘛。
再安装,wget https://dbus.freedesktop.org/releases/dbus/dbus-1.5.0.tar.gz
再安装,
yum -y install apr-devel apr-utilcheck-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-develdbus-devel
freetype-devel fontconfig-devel gcc-c++ expat-devel python-devellibXrender-devel perl-ExtUtils-CBuilder
perl-ExtUtils-MakeMaker make rsync
再安装,wget http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.22/at-spi2-core-2.22.0.tar.xz
再安装,wget http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/2.18/at-spi2-atk-2.18.0.tar.xz
再make的时候,发现vim /atk-adaptor/adaptors/collection-adaptor.c有错误,注掉。
最后,再进入gtk目录,./configure,过了。
然后make ,出现error,注释对应的代码。
再make,又error,而且在.so文件里面,我怎么改。
到此为止,再折腾没意义了,仔细想了一想,为什么要花这么多时间在centos上安装anjuta呢,走火入魔而已。果断安装了ubundu,一个命令
就安装了anjuta。
服务器,用centos的好,桌面开发,还是用unbundu吧,依赖处理的比较好一点。不然,如果用vim,gdb命令调试,虚拟机开发上传的话,随便
什么系统了。
几个环境变量,安装的时候大家要注意一下,LD_LIBRARY_PATH,KFG_CONFIG_PANT,CFLASS,LDFAGSS,要明白其含义,然后会用它,基本知识。要能看懂configure.ac,configure这样的文件,碰到实在没办法解决的问题的时候去读它,然后找问题。要学会使用
pkg-config --list-all | grep xxx
pkg-config --cflags --libs xxx等。
以后有时间再继续把这个问题解决掉,但现在目前看来完全没有一点必要去研究这个问题,花这么多的时间去郁闷,还不如理理财,下下棋。做事,
还是要找到最优的解决方案的,该放弃时就换一种思路,不能‘走火入魔’。只有经济效益和好的身体才是最重要的。