热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Fedora13下编译libfetion的问题和解决办法

前几日升级到了Fedora13,今天尝试装一下libfetion,可以在inux下使用中国移动飞信,先到libfetion官方网站下载最新V1.2版的源代码,下载地址为:http://web.libfetion.org/Linux_demoapp_download.php按照官方网站提供的编译方法(详见http://web.libfetion.org/Docs-dve/Build-LibFx-
前几日升级到了Fedora 13,今天尝试装一下libfetion,可以在inux下使用中国移动飞信,先到libfetion官方网站下载最新V1.2版的源代码,下载地址为:
http://web.libfetion.org/Linux_demoapp_download.php
按照官方网站提供的编译方法(详见http://web.libfetion.org/Docs-dve/Build-LibFx-on-Fedora.txt)
1、先安装编译环境(在root用户下,下同)
yum install qt4-devel curl-devel gcc glibc-devel
2、然后解压缩
tar -zxvf linux-fetion-v1.2.tar.gz
3、进入解压后的文件夹
cd linux-fetion-v1.2
4、运行编译命令
qmake-qt4
make
5、最后运行安装程序
./install.sh

但是在执行第四步的时候,make之后出现如下错误:
g++ -Wl,-O1 -o linux-fetion .tmp/main.o .tmp/fxmain.o .tmp/fxloginwindow.o .tmp/fxmainwindow.o .tmp/fxbuddy.o .tmp/fxbuddyManage.o .tmp/fxmsgwindow.o .tmp/fxaccountTab.o .tmp/fxmytabwidget.o .tmp/fxResource.o .tmp/fxdb.o .tmp/fxcontactinfo.o .tmp/fxaddBuddyWindow.o .tmp/fxqunwindow.o .tmp/fxEncrypt.o .tmp/fxshowHistory.o .tmp/fxverifyAccount.o .tmp/fxInputFace.o .tmp/fxproxy.o .tmp/fxrefuseSMS.o .tmp/fxsendGroupSMS.o .tmp/fxscheduleSms.o .tmp/fxscheduleSmsManage.o .tmp/fxsettings.o .tmp/fxconfigDlg.o .tmp/fxskinmanage.o .tmp/fxwidget.o .tmp/fxwidgettitlebar.o .tmp/qlayoutengine.o .tmp/qwidgetresizehandler.o .tmp/sqlite3.o .tmp/fxlocationparser.o .tmp/moc_fxmain.o .tmp/moc_fxmainwindow.o .tmp/moc_fxloginwindow.o .tmp/moc_fxbuddy.o .tmp/moc_fxbuddyManage.o .tmp/moc_fxmsgwindow.o .tmp/moc_fxaccountTab.o .tmp/moc_fxmytabwidget.o .tmp/moc_fxcontactinfo.o .tmp/moc_fxaddBuddyWindow.o .tmp/moc_fxqunwindow.o .tmp/moc_fxshowHistory.o .tmp/moc_fxverifyAccount.o .tmp/moc_fxInputFace.o .tmp/moc_fxproxy.o .tmp/moc_fxLableMouse.o .tmp/moc_fxLineEditFocus.o .tmp/moc_fxrefuseSMS.o .tmp/moc_fxsendGroupSMS.o .tmp/moc_fxscheduleSms.o .tmp/moc_fxscheduleSmsManage.o .tmp/moc_fxsettings.o .tmp/moc_fxconfigDlg.o .tmp/moc_fxwidget.o .tmp/moc_fxwidgettitlebar.o .tmp/moc_qwidgetresizehandler_p.o .tmp/moc_fxusertree.o .tmp/moc_fxeditablelabel.o .tmp/moc_fxlocationparser.o     -lcurl -lssl ./libfetion/lib/libfetion_32.a -lQtXmlPatterns -lQtXml -lQtGui -lQtCore -lpthread
/usr/bin/ld: .tmp/sqlite3.o: undefined reference to symbol 'dlopen@@GLIBC_2.1'
/usr/bin/ld: note: 'dlopen@@GLIBC_2.1' is defined in DSO /lib/libdl.so.2 so try adding it to the linker command line

/lib/libdl.so.2: could not read symbols: Invalid operation
collect2: ld 返回 1
make: *** [linux-fetion] 错误 1

大致意思是 .tmp/sqlite3.o引用了一个未定一的符号 'dlopen@@GLIBC_2.1', 'dlopen@@GLIBC_2.1'在/lib/libdl.so.2中定义,尝试将/lib/libdl.so.2加入到连接器命令中

在百度和google搜了一圈,有人给出一个fedora官方的地址:
fedoraproject.org/wiki/UnderstandingDSOLinkChange
进去看了一下,大致的意思是说这是fedora13的一个bug,如果你的程序需要引用libA和libB,而libB又需要引用libA,那么你的程序可能只会连接libB。
于是上面报错的意思应该是程序需要.tmp/sqlite3.o,而.tmp/sqlite3.o需要的东西又在/lib/libdl.so.2中,因此程序找不到/lib/libdl.so.2。
根据官方的建议,只要在gcc的-o参数后加上/lib/libdl.so.2即可,在libfetion中,应该修改Makefile文件,打开Makefile文件,找到
LIBS = $(SUBLIBS)   -lcurl -lssl ./libfetion/lib/libfetion_32.a -lQtXmlPatterns -lQtXml -lQtGui -lQtCore -lpthread一行,在其后面加上/lib/libdl.so.2或-ldl即可,如下
LIBS = $(SUBLIBS)   -lcurl -lssl ./libfetion/lib/libfetion_32.a -lQtXmlPatterns -lQtXml -lQtGui -lQtCore -lpthread -ldl
或者
LIBS = $(SUBLIBS)   -lcurl -lssl ./libfetion/lib/libfetion_32.a -lQtXmlPatterns -lQtXml -lQtGui -lQtCore -lpthread /lib/libdl.so.2

然后继续执行第四步,make成功,./install.sh成功,www.linuxidc.com最终在程序菜单中见到libfetion的图标,打开程序,输入手机号和密码,登录成功!
推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
author-avatar
老鼠也偷腥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有