Linux、Python爱好者,推广者。
分类: LINUX
2009-05-09 16:03:13
由于飞信需要glibc-2.4版本支持,和libace,所以先更新了glibc。
glibc (the GNU C library)。
C的库基本上是所有UNIX/Linux系统中最重要的库文件,因为它们扮演了所有应用程序和内核之间的接口角色。如果这种核心库文件被改变,而这种改变又不向后兼容,那么,就可能导致整个系统都无法使用。
一个程序已经在一个使用了较新版本的库的系统中被构建,而你如今想将它安装到你的当前系统中,当然,这种程序是不可能正常运行的,原因就是程序很可能会使用到只有较新版本的库文件中才会拥有的新的或者改动过的特性。正如所有人都知道的那样,包含有旧版本库所没有的功能的新版本库是不会被加载以及执行的。
我们就可以创建一个兼容环境,来提供正常执行程序所需要的功能特性。在这里强烈推荐就是在标准系统文件路径,例如/lib和 /usr/lib外安装程序所需要的附加的库文件。
使用ldd 程序名可以得出此程序需要哪些动态共享库,例如:
#ldd fetion(飞信的程序名)
libACE-
libACE_SSL-
libssl.so.
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x
libm.so.6 => /lib/tls/libm.so.6 (0x00842000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x
libc.so.6 => /lib/tls/libc.so.6 (0x00711000)
libcrypto.so.
librt.so.1 => /lib/tls/librt.so.1 (0x00d81000)
libdl.so.2 => /lib/libdl.so.2 (0x
libz.so.1 => /usr/lib/libz.so.1 (0x00954000)
/lib/ld-linux.so.2 (0x
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00930000)
译安装glibc
下载glibc
wget
下载glibc-linuxthreads
wget
解压
tar -zxvf glibc-2.5.tar.bz2
cd glibc-2.5
tar -zxvf ../glibc-linuxthreads-2.5.tar.bz2
cd ..
mkdir glibc-build
cd glibc-build
../glibc-2.5/configure --prefix=/opt/glibc --disable-profile --enable-add-ons --libexecdir=/usr/lib --with-headers=/usr/include
make
make install
安装时提示没有/opt/glibc/etc/ld.so.conf文件,这时手工创建,也并把/etc/nsswitch.conf复制到/opt/glibc/etc目录下。
注意点:
1、要将glibc-linuxthreads解压到glibc目录下。
2、不能在glibc当前目录下运行configure。
安装飞信,所需软件:
fetion20090406003-linux.tar.gz,library_linux.tar.gz
tar zxvf fetion20090406003-linux.tar.gz会产生解压目录install
tar zxvf library_linux.tar.gz会产生4个文件:
libACE.so.
libACE_SSL.so.5.6.8
libcrypto.so.0.9.8
libssl.so.0.9.8
把这4个文件复制到glibc的安装目录下的lib目录里,即:/opt/glibc/lib
cd /opt/glibc/lib
ln -s libcrypto.so.
ln -s libssl.so.
cd install定义fetion程序执行时所需要动态共享库的路径:
mv fetion fetion.exe
vi feton
#!/bin/bash
LD_LIBRARY_PATH="/opt/glibc/lib:/lib:/usr/lib"
export LD_LIBRARY_PATH
/opt/glibc/lib/ld-linux.so.2 ${0}.exe "$@"
chmod 700 feton
./fetion -h
如果成功的话会出现fetion命令的使用列表。
给自己发短信
./fetion --mobile=15811111111 --pwd=[pwd] --to=15811111111 --msg-utf8=短信内容。
//使用utf8编码
./fetion --mobile=15811111111 --pwd=[pwd] --to=15811111111 --msg-gb飞信测试
//使用gb2312/gbk编码。