一半君的总结纸

听话只听一半君

compiling pidgin 2.10.7 and lwqq under centos 6.3 x64 Attempt 1 Failed

公司电脑是centos 6.3,pidgin 2.7.9 自带一个qq插件,但是早就过时不能用了,自己没有admin权限,装不了新版(就算能装一样不能用)
搜索后发现有个pidgin-lwqq,但麻烦的地方在于没法在公司编译,少好些个package,没权限装,遂回家在破笔记本(fedora 19)上编译了pidgin 2.10.7 ,拷到公司发现运行直接segfault(好吧,这纯粹是乱搞,果然不行)

乱搞步骤

    1. 在家里的笔记本上装vmware workstation,然后装centos 6.3 x64 ( 我装的是live cd,因为比较小)
    2. 编译pidgin
      装了以下的packages:

      yum install gcc make autoconf libtool startup-notification-devel cyrus-sasl-devel nss-devel gtk2-devel intltool ncurses-devel tcl-devel tk-devel libxml2-devel gtkspell-devel evolution-data-server-devel libsilc-devel dbus-devel gstreamer-devel NetworkManager-glib-devel dbus-glib-devel avahi-glib-devel meanwhile-devel perlfarsight2-devel libidn-devel doxygen
    3. 这个pidgin在公司是可以打开的,但是时不时segfault,所以我在公司又编译了pidgin,因为少好多packages,还有我想拷给别人用,所以用了下面的命令行
      ./configure --enable-static --disable-screensaver --disable-gtkspell --disable-vv --disable-meanwhile --disable-avahi --disable-nm --prefix=/var/tmp/pidgin
      
    4. 在vmware里的centos 6.3 x64 编译lwqq的时候,安装了以下packages
      yum install libcurl-devel libpurple-devel intltool glib2-devel gtk2-devel libXScrnSaver-devel gtkspell-devel libxml2-devel gstreamer-devel gstreamer-plugins-base-devel farsight2-devel libidn-devel meanwhile-devel avahi-devel avahi-ui-devel dbus-devel dbus-glib NetworkManager-devel perl-ExtUtils-Embed libSM-devel dbus-glib-devel
      
    5. 结果编译的时候提示找不到libmozjs185
      (09:36:22) plugins: probing /var/tmp/tmp/pidgin_mine/lib/purple-2/libwebqq.so
       (09:36:22) plugins: /var/tmp/tmp/pidgin_mine/lib/purple-2/libwebqq.so is not loadable: : cannot open shared object file: No such file or directory
      

      rpm.pbone.net搜 发现 其他distro 都在 一个叫做 js-devel 的pacakage里,可是centos6没有这个package,只好找到和centos6.3时代相近的fedora 15(都是kernel 2.6.x?)的js-1.8.5-6.fc15.src.rpm,然后按照这个wiki把js-devel rebuild了出来,然后安装了rpm,终于lwqq编译出来了….

      ps: rpmbuild需要安装

      yum install rpm-build redhat-rpm-config readline-devel autoconf213
      

      不放心的话要不要来个

      yum groupinstall "Development Tools"
      
    6. 悲剧预演,把编译出来的libwebqq.so拷到/usr/tmp/tmp/pidgin_mine/lib/purple-2 或者 ~/.purple/plugins下 add account里都没有webqq, 后来使用pidgin -d > x.txt看log文件得知,找不到libmozjs185.so
      (09:36:22) plugins: probing /var/tmp/tmp/pidgin_mine/lib/purple-2/libwebqq.so
       (09:36:22) plugins: /var/tmp/tmp/pidgin_mine/lib/purple-2/libwebqq.so is not loadable: libmozjs185.so.1.0: cannot open shared object file: No such file or directory
      

      只好:

      把家里centos 6.3编译的 libmozjs185.so.1.0 拷到公司的/usr/tmp/tmp/pidgin_mine/lib 下
      把家里centos 6.3 编译的lwqq的/usr/tmp/tmp/pidgin-lwqq-install/usr/share 下的icons pixmaps 复制到 /usr/tmp/tmp/pidgin_mine/share下

      之后, 可以开了,正常检测到webqq插件,添加帐号后 也可以弹出要求输入验证码的窗口,输入后不久,好友列表未出现,pidgin segfault.

    7. 悲剧上演……最后还是没用成 后来的一次乱搞成功了
      ps:显然在家里使用一切正常,用不了主要原因是没法在公司compile lwqq,少packages. 把家里compile过去的也用不了

ps: 最后在家里的笔记本的fedora 19上装了,发现个问题,每次输中文需要在输入框上点右键,然后选输入法ibus好烦,搜了下发现是需要设这个env var

export GTK_IM_MODULE=ibus

试了下,果然设过,再开pidgin默认就是ibus了.看教程说得在.bashrc文件里设这些

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

但是我打开.bashrc文件,他最顶上写了说,现在别改这个文件了,你应该放在/etc/profile.d/里面,所以我就自己建了个custom.sh把那几行放进去了

ps:我后来觉得还是自己建个alias, 然后在开pidgin之前设那个env var好了,不然所有软件默认输入法都是中文了…

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: