转自: http://blog.csdn.net/saint1126/article/details/6147169
在写蜡笔链接业务的时候和mecacheq的分布式的时候都用到了glib库的hashtable数据结构, 使用了遍历其中所有的键值g_hash_table_get_keys()函数,该函数是glib2.12以后才支持, 服务器上的是glib2.6,版本比较低了,所以打算升级下,
- wget http://ftp.gnome.org/pub/GNOME/sources/glib/2.26/glib-2.26.1.tar.gz
- tar xvzf glib-2.26.1.tar.gz
- cd glib-2.26.1
- ./configure --prefix=/usr/local/
- export LD_LIBRARY_PATH=/usr/local/lib
- export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
- make
- make uninstall
- make install
这时可能会出现
- make[4]: Leaving directory `/root/Desktop/glib-2.26.0/gio'
- Making all in tests
- make[4]: Entering directory `/root/Desktop/glib-2.26.0/gio/tests'
- /usr/bin/msgfmt -o test.mo ./de.po; /
- /bin/mkdir -p de/LC_MESSAGES; /
- cp -f test.mo de/LC_MESSAGES
- ./de.po:15: 关键字“msgctxt”未知
- ./de.po:15:8: parse error
- /usr/bin/msgfmt: 发现 2 处致命错误
需要升级gettext package的库,操作如下:
- wget http:
- tar xvzf gettext-0.18.1.1.tar.gz
- cd gettext-0.18.1.1
- ./configure
- make
- make install
- ldconfig
然后在执行升级glib的操作即可.