当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu9.04 AMD64 下 PPS Sotem 详细编译过程!新手必读!
帖子发表于 : 2009-09-08 23:42 
头像

注册: 2009-09-04 16:08
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
首先声明:本人纯新手!新换了台电脑!终于把我用了5年的老古董淘汰了!有了大硬盘当然要装个LINUX了!把 MyEclipse+Tomcat+Mysql 搭建到 linux平台来!首先我下了一个 红旗7.0 装完后发现系统很垃圾!所以换了 Ubuntu9.04 !对 linux 基本没有了解,所以装好后就直接来坛子里来学习了!发现了 PPS Sotem 这款插件!于是就开始了我痛苦的3天编译生涯!!

中间的心酸就不过多叙述了!现在我把基于现在的最新版本的 PPS Sotem 的编译安装过程和大家分享!希望对像我一样的新手在自己动手的时候有个借鉴作用!

系统平台
引用:
MODEL: GA-MA790XT-UD4P (Gigabyte)
CPU: AMD Phenom(tm) II x4 B50 Processor
VGA: RV770 (Radeon HD 4870)
SOUND: ALC889A HDA Digital
OS: Ubuntu 9.04 X86_64


1.下载 PPS Sotem 源码
引用:
libppswrapper:
http://cgit.freedesktop.org/~jinghua/libppswrapper/
gst-plugins-pps:
http://cgit.freedesktop.org/~jinghua/gst-plugins-pps/
totem-pps:
http://cgit.freedesktop.org/~jinghua/totem-pps/
libpps_2.6.86-8896_i386.deb (注:32位系统用PPS官方库,只需要安装自己系统对应的库即可!)
libpps_2.6.86-8896_i386.deb
libpps_2.6.86-8896_amd64.deb (注:64位系统用PPS官方库,只需要安装自己系统对应的库即可!)
libpps_2.6.86-8896_amd64.deb


2.安装PPS官方库
引用:
这一步再简单不过了,相信大家都没有什么问题!直接双击安装即可!


3。确认编译环境
引用:
代码:
gcc-multilib
ia32-libs
gstreamer:

以上需要的包需要安装,我都是用 新立得软件包管理器 安装的呵呵,命令还记不住呢!用桌面环境的时候多!


4.确认安装顺序
引用:
1.totem-pps (这部分比较简单我编译过程中没有遇到什么问题)
2.libppswrapper(一定要先编译这个,gst-plugins-pps依赖它)
3.gst-plugins-pps(最后编译)


5.磨难开始了!编译 libppswrapper
引用:
代码:
~$ sudo ./autogen.sh

因为从上面的网站下载的是工程源码,没有 configure 所以需要用到 autogen.sh进行编译
一开始是报告一些库的缺失,就是 STEP3中我所说的那几个库,顺利安装后果然错误消失了!呵呵很有成就感啊!
可是!!!接下来!
代码:
checking whether pps library is available... no
checking whether pps 32bit library is available... no
configure: error: 'couldn't find pps libraries.

按照坛子里同学们的建议我查看了 [b]config.log[/b]
代码:
configure:19743: checking whether pps libraris is available
configure:19773: g++ -o conftest -g -O2   conftest.cpp -lppsapi -lppsbase -lppssg -lppsvodres -lppsfds -lppsvodnet  >&5
/usr/bin/ld: cannot find -lppsapi

代码:
configure:19807: checking whether pps 32bit libraris is available
configure:19839: g++ -o conftest -g -O2  -m32  conftest.cpp -lppsapi -lppsbase -lppssg -lppsvodres -lppsfds -lppsvodnet  >&5
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.3/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.3/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.3/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.3/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++

发现了这两处代码,一开始的时候我只注意到了第一段代码!因为我的系统是64位的啊!而第二段代码明显是查找32位库失败!认为那是理所当然的了!GOOGLE BAIDU 轮番上阵,查遍中英文资料(呵呵!显然PPS这库老外没什么人弄!基本没有英文资料)未果!
后来受坛子某位同学发言的启发!想到了!
PPS官方库本来就是一个32位库,必须基于32位编译!
而X86_64环境下进行32位编译就用用到了 ia32-libs 这个库,安装后,还是不行啊!
偶然间注意到了:
代码:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.3/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++

这两句话:报告GCC编译库 stdc++ 类型不匹配
代码:
~$ cd /usr/lib32
~$ find libstdc++*
libstdc++.so.5
libstdc++.so.5.0.7
libstdc++.so.6
libstdc++.so.6.0.10

不是有基于32位的 libstdc++ 库吗?但是没有引用到!
GOOGLE一番后做了如下改动
1.连接 libstdc++.so.6.0.10
代码:
~$ cd /usr/lib32
~$ sudo ln libstdc++.so.6.0.10 libstdc++.so

2.为GCC添加32位路径
代码:
~$ cd /etc
~$ find ld.so.conf*
ld.so.conf
ld.so.conf.d
ld.so.conf.d/x86_64-linux-gnu.conf~
ld.so.conf.d/libc.conf
ld.so.conf.d/libasound2.conf
ld.so.conf.d/lib32asound2.conf
ld.so.conf.d/x86_64-linux-gnu.conf
~$ sudo gedit ld.so.conf.d/x86_64-linux-gnu.conf

在文件末尾添加 32位库路径
代码:
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
# RoyAkon's change
/usr/lib32

完成上述操作后重新编译成功!!!太不容易了!
也许大大们觉得这很简单没有什么!整个过程需要调整的地方也不是很多!但是坛子里的大大们给出的解答我都是看的似是而非,走了很多的弯路!折腾了3天才搞定!光这篇文章我就打了将近一个小时!找当时的代码,回忆自己的分析问题过程什么的!

接下来就好弄了!既然已经编译成功了!我就把相关编译过程再说下:
1.生成 configure
代码:
~$ sudo ./autogen.sh

2.执行 confiure 注意:参数一定要加,不然插件信息显示不到程序里
代码:
~$ sudo ./configure --prefix=/usr

3.执行 make
代码:
~$ sudo make

4.安装或打 deb包
代码:
~$ sudo make install

代码:
~$ duso checkinstall



6.gst-plugins-pps的编译安装
因为环境问题解决了!所以最后一个包的大包安装过程很顺利!唯一需要主义的地方就是,gst-plugins-pps 依赖 libppswrapper 必须在 libppswrapper编译完成后进行编译


至此!完成了! PPS Sotem 的安装!3天来费尽心力终于完成了一件事情!
再此:我呼吁所有中文环境的 Ubuntu 用户们,尤其是像我一样的新手们!大家在一开始接触的时候肯定会遇到这样那样的难题,对于大大们来说也许很简单,不值得细说!但是我呼吁我们新手每解决一个问题,能够把自己的解决过程详细的共享出来!初级解决方案多起来,完备起来,
为新新手们留下一个更好的平台!


最后由 royakon 编辑于 2009-09-08 23:56,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: Ubuntu9.04 AMD64 下 PPS Sotem 详细编译过程!新手必读!
帖子发表于 : 2009-09-08 23:47 
头像

注册: 2007-05-06 2:46
帖子: 15634
送出感谢: 0 次
接收感谢: 2
排版很漂亮

其他楼下再夸夸


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Ubuntu9.04 AMD64 下 PPS Sotem 详细编译过程!新手必读!
帖子发表于 : 2009-09-09 0:22 
头像

注册: 2008-02-17 23:47
帖子: 22112
地址: 美丽富饶的那啥星球
送出感谢: 11
接收感谢: 83
嗯……
不用这玩意,其他楼下接着夸


_________________
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Ubuntu9.04 AMD64 下 PPS Sotem 详细编译过程!新手必读!
帖子发表于 : 2009-09-11 21:14 
头像

注册: 2009-01-21 0:05
帖子: 50
送出感谢: 0 次
接收感谢: 0 次
我用不到,不过写的很好


_________________
到处溜溜,随便看看!


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Ubuntu9.04 AMD64 下 PPS Sotem 详细编译过程!新手必读!
帖子发表于 : 2009-09-12 2:39 

注册: 2009-09-12 1:52
帖子: 24
送出感谢: 0 次
接收感谢: 0 次

是很漂亮

问题是我根本看不懂
所以漂亮也没用


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译