解决XBMC运行时提示 undefined symbol
安装了最新的XBMC后,发现无法播放任何视频文件。表现为点击视频文件后没有反应,或者提示无法播放视频。查看在~/.xbmc目录下的log文件发现问题出在这一部分:
Unable to load /usr/lib/xbmc/system/players/dvdplayer/avformat-52-i486-linux.so, reason: /usr/lib/xbmc/system/players/dvdplayer/avformat-52-i486-linux.so: undefined symbol: BZ2_bzDecompressInit
即avformat-52-i486-linux.so动态链接库无法找到符号BZ2_bzDecompressInit,而BZ2_bzDecompressInit是另外一个动态链接库libbz2.so中的一个函数。熟悉gcc的人可能就明白了,这是由于xbmc无法加载到libbz2.so库引起的,所以我们需要手动指定xbmc加载这个动态库。 首先找到本机中libbz2.so的位置(可能需要安装相应的软件包:libbz2)。在我的Ubuntu11.10中,libbz2.so位于/lib目录下面,其文件名为libbz2.so.1.0.4,因而在xbmc运行前使用export LD_PRELOAD=”/lib/libbz2.so.1.0.4″指定该库的位置即可。可以编辑/usr/bin/xbmc文件,将export LD_PRELOAD=”/lib/libbz2.so.1.0.4″加入该文件头部。
# File:/usr/bin/xbmc
# This Program is distributed in the hope that it will be useful,
......
SAVED_ARGS="$@"
prefix="/usr"
exec_prefix="${prefix}"
datarootdir="${prefix}/share"
LIBDIR="${exec_prefix}/lib"
#add libbz2 here
export LD_PRELOAD="/lib/libbz2.so.1.0.4"
# Check for some options used by this script
.......
SQLite指南-Ubuntu篇
SQLite是一个轻量级数据库系统,SQLite基于纯C实现,具有良好的跨平台特性。SQLite使用简单,能够应付小型的软件开发应用。在开发中使用SQLite,你需要从SQLite官方网站下载源码和库文件,当然,也可以自己编译库文件。
一、下载SQLite源码
从这里获得SQLite源码,解压到任意目录。
二、编译静态库文件
首先生成目标文件
gcc -c sqlite3.cc -o sqlite3.o
从目标文件生成静态库
ar cvr libsqlite3.a sqlite3.o
使用静态库文件生成目标 假设在SQLiteDBTest.cpp文件中使用了sqlite的相应接口,静态编译的方法如下:
gcc SQLiteDBTest.cpp libsqlite3.a -lpthread -ldl -lstdc++ -o SQLiteDBTest
其中,-lpthread -ldl参数指定了sqlite使用的线程库和dl库(参见http://www.sqlite.org/howto compile.html),lstdc++指定使用标准C++库。
三、编译动态库文件
生成动态库文件
gcc -shared -fPCI -o libsqlite3.so sqlite3.o -ldl -lpthread
注意链接参数-ldl和-lpthread 使用动态库文件生成目标
gcc SQLiteDBTest.cpp -lsqlite3 -L. -lstdc++ -o SQLiteDBTest
其中-L.参数指定gcc优先从当前目录搜索库文件,如果不加该行,则优先从系统目录搜索库文件。 一般开发过程中,如系统中自带sqlite库,一般不需要自行编译相应库文件。如若要使用自行编译的库文件,最好安装时将其拷贝到系统库目录中。不然的话,对于自行编译的动态库,需要指出其位置,程序才能正常运行,使用如下命令添加查找库文件位置。
export LD_LIBRARY_PATH=$(pwd)
REF:
写在Ubuntu Oneiric Ocelot之后
昨天纠结的升级了Ubuntu Oneiric Ocelot,其中过程又是一次坑爹之旅,我现在只好建议玩Ubuntu的同学一定要做好使用光盘镜像升级的万全的准备啦。像我的Ubuntu在升级后就无法进入控制台了,一直卡在配置网络的命令行上,我在想是哪个脑残设计的启动服务顺序,敢情网络不配置好就不让用操作系统的不是,你起码让我进入tty1修改设置啊……使用update-manger -d 升级失败后还好有留着一个启动U盘,果断从镜像启动全新安装了。
Ubuntu Oneiric Ocelot的正式版已经比测试版本好多了,基本上以前存在的一些小问题都解决了,Unity的易用性又得到了一次提升,各种系统整合也好多了,相比WIn8哪个坑爹的想在
PC上运行平板界面的货好多了。
从8.10开始玩Ubuntu,那时候Ubuntu基本处于无法使用的状态,基本多少任何杀手级应用,没有多少硬件厂商支持(哈哈,没有A卡和N卡的厂商驱动,真是悲催……),那时候的FF卡的我都不想打开,Ooo也很残废(现在它快终于彻底费了,其实我听高兴的,毕竟libre系的前景要比它好多了),各种上网不能……
现在,Ubuntu Oneiric Ocelot尽管还不够用,但是,无论是底层还是应用上,都有了很大的改进,Gnome3和Unity的变革,总算说明那群Greek们懂得了“系统是给人用的”这个简单的道理了,新版的SoftCenter也算开始了Linux 最开始想做到的软件管理方式了。其实相什么Win App Store,App Store说创新之类一对Linux发行商都可以在后面笑了,Linux系很早就开始了集中式的软件包分发体系,只不过没有像Apple那样会做销售,也没有什么利润分成之类(Linux天生如此),没引起人们的关注。对于Ubuntu,官方源+PPA+googlecode/github基本构成了从正式到非正式的软件包分发体系,基本上避免了人们去一些下载网站下载软件的习惯。当然,国内某些XXXX学的很像,对用户来说是件好事。
对于Ubuntu的前景来说,我知道它会越来越好,但怕它的差距会越来越大。这些差距纯粹应用方面的,一个成功的系统,应该是对开发商友好的,甚至它某些时候需要去讨好开发商,显然Liunx没这个习惯,Linux内核还好些,开发的慢,比较稳定,那些做桌面环境简直就是大爷……想要一个程序在几十个不太开发理念的桌面环境中生存的确太痛苦了。而在中国,盗版windows对所有操作系统厂商来说都是毒瘤一般的存在,在加上QQ,Thunder,网银(你妹的IE Only)这些Windows Only的应用影响,由Windows向Ubuntu的迁移难度太大了。Thunder是典型的业界毒瘤,建议所有BT软件在代码级别把它Ban掉,反正每回开BT,只看到Xunlei下载的,没看到Thunder上传的。另外一个杀手级的应用是游戏了,这个就不多说了,推荐一下S2game的HoN,喜欢Dota的可以试试,其实游戏算是所有应用中最容易移植到Linux中的了,只要有相应的引擎,涉及到系统层面的问题游戏引擎应该可以处理掉大部分,可惜利润问题让这个想法难以实现。
好吧,就吐槽到这里了,愿Ubuntu越来越好~~~
Ubuntu Oneiric Ocelot is Here!!!
由于时差问题,Ubuntu Oneiric Ocelot将于今日(11.13)北京时间下午5:00正式发布。
各位同学请猛击这里下载:
http://cdimage.ubuntu.com/releases/11.10/release/
从原系统升级请使用update-manager升级。
Github for Lady In Green
This WordPress theme is NOT created by me, but I love it very much. So I decide to fix the problems of it and make it more wonderful.
However, I have created an git source on github.com so the one who love it can get the last version of it.
Please visit here for the theme:
https://github.com/Iceyer/Lady-In-Green
And if you have any advice or problem about the theme, please contract me: iceyers@gmail.com
永中字体中’<‘(lsaquo)字符显示不正常问题
WordPress的后台管理中标题的格式一般为“XXXXX < XXXXX”格式,但是在本人Ubuntu系统上一直无法正常显示,都是显示为“XXXXX Y XXXXX”中间的’<‘字符被替换成为了’Y',这个问题十分诡异,而且一直也找不到问题所在。
为了弄清这个bug到底是什么问题引起的,我更换了浏览器,从FF到Chrome,结果还是显示不正常,于是切换到opera,这次终于发现一丝诡异的情况:在opera的标签中’<‘显示是正常的,但是在Unity的全局菜单中,显示的字符确是’Y',仔细看了一下,在opera标签中的字体是黑体,而Unity菜单中的字体是永中仿宋,难道是字体的问题?于是修改了系统所有的相关字体为文泉微黑,果然显示正常了。
考虑引发这个问题,大概是永中字体中没有为浏览器解析的’<‘字符提供映射,所以才会发生解析错误。以前就听说中文字体设计乱的一塌糊涂,搞得latex的中文支持一直很纠结,没想到今天还真遇到这么囧的问题了……
解决Nvidia-settings无法保存设置的问题
基本上用Ubuntu后,游戏就戒了,但偶尔和同学Dota一下还是有必要的。安装nvidia的官方驱动后,使用nvidia-settings设置使用GPU等比例缩放,但是重启后这个设置就会还原,让人十分恼火。前几天终于搞清楚原因了。
在命令行下打开nvidia-settings,就会看到如下输出:
ERROR: Cannot open display 'iceyer-ubuntu:0.0'
ERROR: Unable to assign attribute CursorShadow specified on line 22 of
configuration file '/home/iceyer/.nvidia-settings-rc' (no Display
connection).
Google 一下,原来是nvidia-settings不支持使用iceyer-ubuntu:0.0这种格式来定位X输出,那么为什么配置文件中会写入这些了,原来是我没事把nvidia-settings configuration下面的”Include X Display Names in the Config File“选中引起的,删掉后,一切都很和谐,恩。
最后,使用-l参数把nvidia-settings加入启动项
nvidia-settings -l
Ubuntu禁用触摸板Indicator
鉴于广大硬件厂商和设备制造商的不合作与无所谓态度,Linux下的笔记本驱动一直是个麻烦问题。虽然我使用的Ubuntu发行版本在驱动集成上已经做的很好了,不过我的小Y上的键盘快捷键却不能完全识别,比如原来按Fn+F6禁用触摸板,现在不能用了,每回关闭触摸板都要去修改“系统设置”,实在时麻烦。现在你可以试试这个touchpad-indicator,虽然不能完成Fn+F6快捷键禁用触摸板,但总比改“系统设置”方便了。
不多说,放PPA
sudo apt-add-repository ppa:atareao/atareao sudo update sudo apt-get install touchpad-indicator
安装之后可以设置Ctrl+Alt+<自定义按键>的快捷键来开启和关闭触摸板。
关于流量超标
上个月还看到笨兔兔网站月流量超出被迫停止几天的通过,心里鄙视了CB一顿,结果没几天就轮到自己了。从5月20号开始就收到空间服务商的流量警报邮件,不到月底流量就超了。于是查了查流量记录,发现前不久在网站上推荐了古剑奇谭的一首配乐——《榣山遗韵·变调》被访问了很多次,而且最开始是从Baidu链接来的,之后就有新浪音乐盒等等的链接。看来这说明了两个问题:第一,网站上的音乐文件被不幸被百度音乐搜索给收录了;第二,看来还是有很多人喜欢这首配乐乐的嘛。以前老看到大家声讨百度音乐盗链的问题,现在才有了切身体会。
另外,考虑到音乐版权的问题,决定以后不在提供音乐文件下载。同时也开启了网站的外链限制。
关闭[MP3]



