2012-03-09 Ps:貌似现在已经有完整的安装包,本文仅供参考娱乐。  

 

=============================================

    本文参考了很多前辈的文章,综合各种方法的长处进行总结,现在贴出详细过程,以供参考:

系统环境:fedora 14 

下载pps安装包:

  1. [mo@mo ~]$ wget http://download.ppstream.com/ppstream_1.0.0-1_i386.deb  
  2. ##但是该包是debian的deb包,pps官网上说的面向linux却只是面向了ubunt,自己动手丰衣足食吧。
  3. ##网上有一种安装的教程是安装一个deb包转rpm包的工具alien,但是英文的实在看的纠结,就不安装
  4. ##该工具了,按照简单的纯手工方式进行安装;有兴趣的朋友选用alien试一下;

 

包下载好后,右键--》 open with achive manager (归档管理器)释放其中data.tar.gz和.tar.gz到自定位置;然后解压两个tar包,得到下面三个文件及文件夹:

  1. [root@mo pps]# ll 
  2. total 24 
  3. -rwxr-xr-x. 1 mo mo  402 Apr  5 13:07 control 
  4. drwxr-xr-x. 2 mo mo 4096 Nov  4 11:55 etc 
  5. drwxr-xr-x. 3 mo mo 4096 Nov  4 11:55 opt 
  6. -rwxr-xr-x. 1 mo mo  451 Apr  5 13:23 postinst 
  7. -rwxr-xr-x. 1 mo mo  153 Apr  5 12:52 postrm 
  8. drwxr-xr-x. 3 mo mo 4096 Nov  4 11:55 usr

 

查看几个文件:

  1. [root@mo pps]# cat control  
  2. Package: PPStream 
  3. Version: 1.0.0 
  4. Architecture: i386 
  5. Maintainer: www.PPS.tv 
  6. Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1-21), libqt4-core(>=4.4.0), libqt4-gui(>=4.4.0), libqt4-network(>=4.4.0), libqt4-webkit(>=4.4.0), libqt4-xml(>=4.4.0), libstdc++6 (>= 4.1.1-21), libfuse2(>=2.7.2), mplayer | mplayer-nogui 
  7. Section: base 
  8. Priority: optional 
  9. Description: PPStream for GNU/Linux Ubuntu 8.04+ Distro. 
  10. ##该文件应该是安装时的说明控制文件,有名称版本号等信息,当然主要是下面的Depends:
  11. ##依赖性需求;但是名称实在有点诡异,用yum list 进行匹配,根本匹配不到,但是知道大概
  12. ##需要libc/libgcc/libqt-core/libqt-gui/libqt-network/libqt-webkit/libqt-xml/
  13. ##libstdc++等包,貌似还需要mplayer支持
  14. ##(此时我的mplayer已经安装,下篇文章中介绍一下mplayer的编译安装方法); 
  15.  
  16. [root@mo pps]# cat postinst  
  17. #!/bin/sh 
  18. rm -f /usr/bin/PPStream 
  19. rm -f /usr/lib/libemsnet.so 
  20. rm -f /usr/lib/libemscore.so 
  21. rm -f /usr/lib/libemsnet.so.0 
  22. rm -f /usr/lib/libemscore.so.0 
  23. ln -sv /opt/pps/bin/PPStream /usr/bin/PPStream 
  24. ln -sv /opt/pps/lib/libemscore.so.0.1.* /usr/lib/libemscore.so 
  25. ln -sv /opt/pps/lib/libemsnet.so.0.1.* /usr/lib/libemsnet.so 
  26. ln -sv /opt/pps/lib/libemscore.so.0.1.* /usr/lib/libemscore.so.0 
  27. ln -sv /opt/pps/lib/libemsnet.so.0.1.* /usr/lib/libemsnet.so.0 
  28. ##该脚本文件因该是install控制文件,前面删除了一些库文件,这些苦应该是曾经安装pps的残留库链接文件;然后重新建立新的库链接文件; 
  29.  
  30. [root@mo pps]# cat postrm  
  31. #!/bin/sh  
  32. rm -f /usr/bin/PPStream 
  33. rm -f /usr/lib/libemsnet.so 
  34. rm -f /usr/lib/libemscore.so 
  35. rm -f /usr/lib/libemsnet.so.0 
  36. rm -f /usr/lib/libemscore.so.0 
  37. ##这个脚本应该是卸載pps时执行的ku文件清除脚本; 
  38.  
  39. ###而几个文件夹中分别是pps的配置文件,库文件,二进制文件,图标文件等,需要在后面复制
  40. ###时放到规定的位置;


开始安装:(安装拷贝过程中可能会有权限问题,最好切换为root用户)

  將etc中的ems.conf复制到/etc;
  將opt中pps文件夹复制到/opt;
  将usr/share/applications中的 PPStream.desktop复制到/usr/share/applications中;
  将usr/share/icons中的pps文件夹复制到 /usr/share/icons中;

   复制完工;
   执行安装脚本,自动建立库文件链接,当然,按照文件中定义逐条执行ln命令未尝不可,我修改命令为:ln -sv,便于查看链接建立状态;

  1. [root@mo pps]# ./postinst  
  2. `/usr/bin/PPStream' -> `/opt/pps/bin/PPStream' 
  3. `/usr/lib/libemscore.so' -> `/opt/pps/lib/libemscore.so.0.1.1676' 
  4. `/usr/lib/libemsnet.so' -> `/opt/pps/lib/libemsnet.so.0.1.1676' 
  5. `/usr/lib/libemscore.so.0' -> `/opt/pps/lib/libemscore.so.0.1.1676' 
  6. `/usr/lib/libemsnet.so.0' -> `/opt/pps/lib/libemsnet.so.0.1.1676'

   现在查看:Applications--》Internet--》ppstream ;程序中已经有了pps的图标,尝试打开,没有报错,没有结果;
   去查看日志:tai /var/log/messages ,无任何记录;冋的要死,为什么没有日志记录;(有待研究默认的日志级别,这里无法找到问题,暂时忽略)


查看pps二进制文件的依赖库状态:

  1. [root@mo pps]# ldd /opt/pps/bin/PPStream  
  2.     linux-gate.so.1 =>  (0x0090b000) 
  3.     libemscore.so.0 => /usr/lib/libemscore.so.0 (0x007e7000) 
  4.     libz.so.1 => /lib/libz.so.1 (0x00d21000) 
  5.     libQtWebKit.so.4 => not found 
  6.     libQtXml.so.4 => not found 
  7.     libQtGui.so.4 => not found 
  8.     libQtNetwork.so.4 => not found 
  9.     libQtCore.so.4 => not found 
  10.     libpthread.so.0 => /lib/libpthread.so.0 (0x00cc6000) 
  11.     libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x05897000) 
  12.     libm.so.6 => /lib/libm.so.6 (0x00cf5000) 
  13.     libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00d38000) 
  14.     libc.so.6 => /lib/libc.so.6 (0x00b3a000) 
  15.     /lib/ld-linux.so.2 (0x00b19000) 
  16. ##发现很多库not found;名字很熟悉,很多是在control中需要的Depends包库;

安装依赖的库文件:

    找不到包,就直接安装库,当然,这是yum的优势(在不清楚包名时,去模糊匹配实在让人纠结),能够智能识别需要库包含在那些包中,安装这些包,并且解决依赖性问题;

  1. [root@mo pps]# yum install libQtWebKit.so.4 libQtXml.so.4  libQtGui.so.4 libQtNetwork.so.4 -y 
  2.  
  3. 。。。。。。 
  4. ======================================================================================================================= 
  5.  Package                               Arch                Version                      Repository                Size 
  6. ======================================================================================================================= 
  7. Installing: 
  8.  qt                                    i686                1:4.7.1-17.fc14              updates-163              4.2 M 
  9.  qt-webkit                             i686                1:4.7.1-17.fc14              updates-163              5.4 M 
  10.  qt-x11                                i686                1:4.7.1-17.fc14              updates-163               12 M 
  11. Installing for dependencies: 
  12.  kde-filesystem                        noarch              4-35.fc13                    fedora                    46 k 
  13.  phonon                                i686                4.4.4-2.fc14                 updates-163              165 k 
  14.  phonon-backend-gstreamer              i686                2:4.4.4-2.fc14               updates-163              107 k 
  15.  
  16. Transaction Summary 
  17. ======================================================================================================================= 
  18. Install       6 Package(s) 
  19.  
  20. 。。。。。。

  21.  
  22. ##安装后再ldd查看,应该一切ok,再看另外一个二进制文件,应该是pps的守护进程文件,一切ok: 
  23. [root@mo pps]# ldd /opt/pps/bin/PPSDaemon  
  24.     linux-gate.so.1 =>  (0x00d2f000) 
  25.     libfuse.so.2 => /lib/libfuse.so.2 (0x00346000) 
  26.     librt.so.1 => /lib/librt.so.1 (0x00cea000) 
  27.     libdl.so.2 => /lib/libdl.so.2 (0x00ce3000) 
  28.     libpthread.so.0 => /lib/libpthread.so.0 (0x00cc6000) 
  29.     libemscore.so.0 => /usr/lib/libemscore.so.0 (0x00e29000) 
  30.     libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x05897000) 
  31.     libm.so.6 => /lib/libm.so.6 (0x00cf5000) 
  32.     libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00d38000) 
  33.     libc.so.6 => /lib/libc.so.6 (0x00b3a000) 
  34.     /lib/ld-linux.so.2 (0x00b19000)

此时再去开启pps,ok。。。享受一下吧~

 


   附:播放时,可能没有声音,此时在pps菜单:工具--》选项--》选择音频设备:修改设备oss为alsa;重启pps应该就可以了;