当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-20 13:20 
头像

注册: 2011-01-12 15:44
帖子: 42
送出感谢: 0 次
接收感谢: 0 次
解压和进入解压出来的目录./configure都没问题,make的时候就是下面的错误,看不懂,请教了!


make all-recursive
make[1]: 正在进入目录 `/tmp/fcitx-3.6.3'
Making all in doc
make[2]: 正在进入目录 `/tmp/fcitx-3.6.3/doc'
make[2]: 没有什么可以做的为 `all'。
make[2]:正在离开目录 `/tmp/fcitx-3.6.3/doc'
Making all in xpm
make[2]: 正在进入目录 `/tmp/fcitx-3.6.3/xpm'
make[2]: 没有什么可以做的为 `all'。
make[2]:正在离开目录 `/tmp/fcitx-3.6.3/xpm'
Making all in lib
make[2]: 正在进入目录 `/tmp/fcitx-3.6.3/lib'
gcc -DHAVE_CONFIG_H -I. -I.. -c -O2 -fno-strength-reduce -fno-strict-aliasing -g -O2 -INONE -INONE -D_ENABLE_TRAY -INONE -INONE -INONE -Wall -MT FrameMgr.o -MD -MP -MF .deps/FrameMgr.Tpo -c -o FrameMgr.o FrameMgr.c
FrameMgr.c:29: fatal error: X11/Xlibint.h: 没有那个文件或目录
compilation terminated.
make[2]: *** [FrameMgr.o] 错误 1
make[2]:正在离开目录 `/tmp/fcitx-3.6.3/lib'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/tmp/fcitx-3.6.3'
make: *** [all] 错误 2


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-21 18:36 
头像

注册: 2010-08-08 20:02
帖子: 741
系统: Ubuntu 12.04
送出感谢: 0 次
接收感谢: 1
没有找到 X11/Xlibint.h


_________________
退避九舍:富贵不能淫,贫贱不能移,威武不能屈:坚持ubuntu不动摇!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-21 21:28 
头像

注册: 2010-08-27 15:53
帖子: 803
送出感谢: 0 次
接收感谢: 1
一般缺少.h这种头文件,你要下载找到对应的“-dev”包


_________________
基础问题,请看入门手册http://people.ubuntu.com/~happyaron/udc-cn/lucid-html/

Acer aspire 4736G / Ubuntu 10.04LTS
Asus eeepc900 / Xandros
Nokia N900 / Maemo 1.2.12


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-21 21:53 
头像

注册: 2007-10-23 12:54
帖子: 1750
送出感谢: 3
接收感谢: 28
代码:
./configure
make
make install

这种老三句是常规意义上的步骤,不是所有软件都这样编译的。有些编译之前的工作要做,在 ubuntu 系统里,需要用这个命令准备编译环境。
代码:
sudo apt-get build-dep fcitx

在软件目录中存在 autogen.sh 的话还应该在 configure 之前执行。

还有 fcitx 这种已经完全 debian 化的源码,可以直接生成 deb 包使用,不需要手动执行 make & make install。

所以在这里需要这样
代码:
sudo apt-get build-dep fcitx
./autogen.sh
fakeroot debian/rules binary


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-23 18:22 
头像

注册: 2011-01-12 15:44
帖子: 42
送出感谢: 0 次
接收感谢: 0 次
但是源代码自带的说明文档是说用
./configure
make
make install
我还是试一试
sudo apt-get build-dep fcitx
./autogen.sh
fakeroot debian/rules binary :em06


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-24 9:07 
头像

注册: 2011-01-12 15:44
帖子: 42
送出感谢: 0 次
接收感谢: 0 次
AutoXBC 写道:
代码:
./configure
make
make install

这种老三句是常规意义上的步骤,不是所有软件都这样编译的。有些编译之前的工作要做,在 ubuntu 系统里,需要用这个命令准备编译环境。
代码:
sudo apt-get build-dep fcitx

在软件目录中存在 autogen.sh 的话还应该在 configure 之前执行。

还有 fcitx 这种已经完全 debian 化的源码,可以直接生成 deb 包使用,不需要手动执行 make & make install。

所以在这里需要这样
代码:
sudo apt-get build-dep fcitx
./autogen.sh
fakeroot debian/rules binary




运行结果:
root@machine:~/桌面/fcitx-3.6.2# apt-get install build-dep fcitx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 未发现软件包 build-dep


查看软件目录有autogen.sh,所以
root@machine:~/桌面/fcitx-3.6.2# ./autogen.sh
./autogen.sh: 3: aclocal: not found


我是不是缺少什么编译需要的软件包,我只安装了build-essential,请各位前辈指点一下!!


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-25 13:02 
头像

注册: 2011-01-12 15:44
帖子: 42
送出感谢: 0 次
接收感谢: 0 次
说说今天所做的:
按照“退避九舍”的建议:
把libx11-dev装上,再重新编译看看,提示:fatal error:X11/xpm.h:没有那个文件或目录
尝试安装xlibs-dev
更新一下源---命令安装提示找不到软件包,这次是xlibs-dev,很多人说:这个包在源里没有,而且很难找,但是可以
用xlibs-static-dev代替xlibs-dev ,源里面绝对有xlibs-static-dev。

试了一下:
现在没有可用的软件包 xlibs-static-dev,但是它被其他的软件包引用了。
libxfontp-dev libxfont-dev取代了它。

安装上面这些包,./configure make还是不行,提示:
Traywindow.h:5:21 fatal error:X11/xpm.h:没有那个文件或目录
又安装了:libxtst-dev
结果一样.... :em20


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-25 13:03 
头像

注册: 2011-01-12 15:44
帖子: 42
送出感谢: 0 次
接收感谢: 0 次
虽然还没有成功,但是感觉学到了点东西 :em01


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-27 20:08 
头像

注册: 2007-10-23 12:54
帖子: 1750
送出感谢: 3
接收感谢: 28
之所以出现一堆错误,就是没有执行最开始需要的一句命令。

应该是
代码:
sudo apt-get build-dep fcitx

不是
代码:
apt-get install build-dep fcitx

还有没事不要 su 到 root 里,这不合规范,编译软件需要提权时有 fakeroot 这个命令。

细说一下 build-dep 是怎么工作的。debian 和 ubuntu 的开发者认为用户都是正常人,不是机器,也不是无所不知,他们仅仅需要编译一个软件,至于编译这个软件需要创建什么样的编译环境根本就不关心。我们需要一个人类友好的命令来自动的一次性的彻底的完成这个工作,于是有了 build-dep。

他们首先在源中建立了描述文件 fcitx_3.6.3-1.dsc,到这个地址可以看到。
http://archive.ubuntu.com/ubuntu/pool/u ... .6.3-1.dsc

文件中声明了编译 fcitx 3.6.3 需要的全部组件,就是这一句
代码:
Build-Depends: debhelper (>= 7.0.50~), libx11-dev, libxft-dev, x11proto-core-dev, libxpm-dev, automake, autoconf, libxtst-dev

build-dep 就是读取这个位置,然后一切都交给系统自己处理。所以用任何系统首要的一条是要学会偷懒,并找出开发者提供好的偷懒方法。自己当然也可以介入细节,但这个过程不是盲目的,要顺着开发者的思路介入,这样学起来才会有条理,也不会感到系统设计的莫名其妙。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-03-29 23:24 
头像

注册: 2011-01-12 15:44
帖子: 42
送出感谢: 0 次
接收感谢: 0 次
代码:
sudo apt-get build-dep fcitx
./autogen.sh
fakeroot debian/rules binary
可以编译出一个deb包。
谢谢 AutoXBC这么详细的解释!
“还有没事不要 su 到 root 里,这不合规范,编译软件需要提权时有 fakeroot 这个命令。”这个最近我也在书上看到过,编译最好不要有root,防止一些恶意的代码破坏系统。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-05-09 10:34 

注册: 2011-05-09 10:33
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
autoconf automake autotools-dev debhelper html2text intltool
libcairo-script-interpreter2 libcairo2-dev libdbus-1-dev libexpat1-dev
libfontconfig1-dev libfreetype6-dev libglib2.0-dev libice-dev libltdl-dev
libmail-sendmail-perl libpango1.0-dev libpixman-1-dev libpng12-dev
libpthread-stubs0 libpthread-stubs0-dev libsm-dev libsys-hostname-long-perl
libtool libx11-dev libxau-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev
libxdmcp-dev libxft-dev libxrender-dev m4 po-debconf x11proto-core-dev
x11proto-input-dev x11proto-kb-dev x11proto-render-dev xtrans-dev
需要这些安装包 检查一下


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 帮我看一下编译源代码包是出现的错误
帖子发表于 : 2011-05-10 17:00 
头像

注册: 2007-10-23 12:54
帖子: 1750
送出感谢: 3
接收感谢: 28
楼上可以看看我 9 楼的解释,你这个方向不对。


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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