Fedora13下编译libfetion的问题和解决办法
前几日升级到了fedora13,今天尝试装一下libfetion,可以在linux下使用中国移动飞信,先到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成功,最终在程序菜单中见到libfetion的图标,打开程序,输入手机号和密码,登录成功!
Fedora13下编译libfetion的问题和解决办法相关推荐
- windows环境下编译ACE+TAO问题及解决办法
参考文章1:https://blog.csdn.net/lsyyoyo/article/details/80977353 参考文章2:https://blog.csdn.net/qq_14994573 ...
- linux编译安装的报错,linux编译安装时常见错误解决办法
This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html ...
- TensorFlow C++版编译遇到的问题及解决办法
TensorFlow-GPU2.6.0 C++版编译遇到的问题及解决办法 Python版本与Numpy版本兼容性问题 问题描述: Python3.9与TensorFlow2.6.0版本所要求的Nump ...
- windows10下pip安装速度慢的解决办法
windows10下pip安装速度慢的解决办法 pip修改源 我们这里使用的镜像源是清华大学的镜像源,使用方法有两种,第一种是临时使用: pip install -i https://pypi.tun ...
- PHP编译安装时常见错误解决办法,php编译常见错误
PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...
- linux libvpx编译安装,linux编译安装时常见错误解决办法
**configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution** 复 ...
- Ubuntu下无法看到共享文件夹的解决办法
参考:Ubuntu下无法看到共享文件夹的解决办法 作者:一只青木呀 发布时间:2020-08-07 10:09:04 网址:https://blog.csdn.net/weixin_45309916/ ...
- mysql linux root密码忘记了怎么办,linux下忘记mysql的root密码解决办法 | 严佳冬
下面就记录一下在linux下忘记mysql的root密码解决办法: 1.vim /etc/my.cnf #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables [my ...
- 在win7系统 Keil 开发环境下 Jlink 仿真器连不上解决办法
Keil 开发环境下 Jlink仿真器,在win7系统下,仿真器连不上解决办法 进入设备管理器,发现黄色问号,即windows不识别设备,分别右键点击属性,更新驱动程序.在安装keil目录下自动查找, ...
- 针对Windows10下EPLAN2.7频繁重启的解决办法
针对Windows10下EPLAN2.7频繁重启的解决办法 只在Windows10平台测试可行,其他平台或版本不一定有效. 1.打开EPLAN Download Manager 2.勾选如图前三项下载 ...
最新文章
- 【常见CPU架构对比】维基百科
- DBSCAN的两个核心参数是什么?如何获取最佳参数?如何可视化获取的过程?
- 给你一份长长长的 Spring Boot 知识清单(上)
- 计算机模拟眼科手术原理,眼科病床的合理安排(计算机模拟实例).pdf
- 【Android】Android之WiFi开发应用示例
- 说到 SASE,新的安全范式有哪些
- 前端开发 表格元素 单元格的合并 0229
- (Leetcode)买股票的最佳时机
- Active Directory备份与还原
- Felix: Flexible Text Editing Through Tagging and Insertion (2020-03)
- 坚决不要使用SQL逻辑删除本番环境的数据,降低程序风险
- python教程2019全套-Python学习路线2019升级版(课程大纲+视频教程+网盘资源下载)...
- 变速齿轮修改服务器时间,可改变游戏速度!游戏变速齿轮安装使用说明
- 深入浅出Embedding
- docker适合初学者吗_简化了Docker:面向绝对初学者的动手指南
- 消失的中国互联网元老陈天桥:为神经科学捐助10亿,不担心机器人崛起
- 计算机计算性能,计算机计算能力的关键特点
- 谁是西方历史上“第一个”数学家?
- 清华“差生”10年奋斗经历,只写事业,不写女人
- 《共同利益经济学》让梯若尔 epub+mobi+azw3
热门文章
- 【测控电路】信号放大电路 误差, 噪声, 差动放大, 高共模抑制比, 低漂移, 高输入阻抗, 电桥放大
- android网上书城管理源代码,网上书店管理系统(附程序源代码).doc
- 【算法】非线性动力学混沌、分岔图、最大李雅普诺夫指数等
- 粒子滤波算法matlab代码,粒子滤波算法原理及Matlab程序(专题).ppt
- 一、zabbix与nagios对比
- 全国地区 mysql表_2017全国省市区数据库-2017全国省市区数据库下载 官方版 - 河东下载站...
- Android开发程序获取GPS信息步骤
- 汇编程序编译连接过程
- 微型计算机原理与接口技术 试卷,微机原理与接口技术试卷和答案4套.doc
- html5一个可拖动的图片大小,HTML5画布中的可拖动和可调整大小元素