[原创]编译打包程序新手指导

编译安装或者制作Deb包
头像
haria1988
帖子: 689
注册时间: 2008-04-17 17:53
来自: 江苏.无锡
送出感谢: 0
接收感谢: 1 次
联系:

[原创]编译打包程序新手指导

#1

帖子 haria1988 » 2008-05-28 16:07

很多新手面临的困难和困惑都出现在编译和打包软件方面,unubtu的apt-get方式的确很易用,但是也屏蔽了学习的空间,对于那些希望好好学习linux的而又感到困惑的人,通过以下三个程序的帮助,应该可以有效的减轻你的负担:

第一个,checkinstall
安装命令:sudo apt-get install checkinstall
程序功能:能跟踪由“make install”或类似命令安装的所有文件,并为这些文件创建Slackware、RPM或者Debian安装包,然后把它添加到已安装软件包数据库中,以便能简便的卸载或发布安装包。
例如:
sudo ./configure
sudo make
sudo make install
这个是通常的软件编译安装步骤,这样做有不好的地方就是一旦编译安装失败,文件四零八落的很难收拾,但是通过
sudo ./configure
sudo make
sudo checkinstall
这样生成一个包,再安装时如果失败了也可以通过新立德来卸载它。

第二个,apt-file
安装命令:sudo apt-get install apt-file
程序功能:下载服务器上所有可用的软件包以及这些软件包所含的所有文件的列表;实现方便的解决搜索缺少包的问题。
例如:
sudo apt-file update //更新文件列表
sudo apt-file search 包名 //按文件名搜索
sudo apt-file list 包名 //列出给定的软件包中的所有文件

编译程序时,如果输出的最後一行会类似下面的:configure: error: Library requirements (gobbletygook) not met,後面还有一些 废话。但就在上面它会列出找不到的文件名称,大多数情况下,会列出一个以".pc"结尾的文件。你接着要做的是运行 apt-file search 找不到的文件名称.pc,这会告诉你在哪个Ubuntu包里有缺少的文件。接下来,你只需sudo apt-get install 所需包安装 即可。接着再试试运行./configure,看看行不行。如果你得到一堆以config.status: creating Makefile结尾的文本,并且 config.status: creating Makefile後面明显没有错误信息,那你就可以进入一步了。

第三个,auto-apt
程序功能:傻瓜式配置程序
例子:
sudo auto-apt run ./configure //如果提示依赖包那么自己apt-get install 缺少包吧!
sudo make
sudo checkinstall

希望对大家有所帮助!
头像
lhw828
帖子: 2802
注册时间: 2007-03-15 16:58
来自: 湖北武汉
送出感谢: 2 次
接收感谢: 3 次
联系:

#2

帖子 lhw828 » 2008-05-29 1:29

很不错的东西
头像
ljbljb007
帖子: 104
注册时间: 2007-12-03 18:50
来自: 大连
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 ljbljb007 » 2008-06-14 20:25

留名 不错
适合Ubuntu新手看的博客

若到江南赶上春,千万和春住.
luckyone
帖子: 94
注册时间: 2007-09-12 13:16
送出感谢: 0
接收感谢: 0

#4

帖子 luckyone » 2008-06-23 20:39

写的很好 ,顶一下 :lol: :lol: :lol: :lol:
./configure --prefix =/usr/local/filename
make make install make clean
make uninstall

CC =gcc
all:
$(CC) -o hello hello.c `pkg-config --cflags --libs gtk+-2.0`
luckyone
帖子: 94
注册时间: 2007-09-12 13:16
送出感谢: 0
接收感谢: 0

#5

帖子 luckyone » 2008-06-23 20:39

写的很好 ,顶一下 :lol: :lol: :lol: :lol:
./configure --prefix =/usr/local/filename
make make install make clean
make uninstall

CC =gcc
all:
$(CC) -o hello hello.c `pkg-config --cflags --libs gtk+-2.0`
头像
gdzhljw
帖子: 314
注册时间: 2007-05-19 23:18
来自: 广东珠海
送出感谢: 0
接收感谢: 0
联系:

#6

帖子 gdzhljw » 2008-07-25 16:15

顶上去以后慢慢搞
凡事都可行.但不都有益处。凡事都可行.但不都造就人。(哥林多前10:23)

my blog : http://gdzhljw.blog.163.com/
http://gdzhljw.blog.ubuntu.org.cn/
头像
HuntXu
论坛版主
帖子: 5778
注册时间: 2007-09-29 3:09
送出感谢: 0
接收感谢: 6 次

#7

帖子 HuntXu » 2008-07-25 16:45

加上apt-cache和apt-get的build-dep功能... :D
HUNT Unfortunately No Talent...
ninyun
帖子: 185
注册时间: 2008-04-13 9:47
送出感谢: 0
接收感谢: 0

#8

帖子 ninyun » 2008-07-26 8:14

从系统安装和升级,程序安装到编译打包程序,一个新手的三步曲。谢谢楼主。
ldw1227
帖子: 10
注册时间: 2008-07-02 18:16
送出感谢: 0
接收感谢: 0

#9

帖子 ldw1227 » 2008-08-04 16:55

不错,谢谢先!
头像
adagio
论坛版主
帖子: 22120
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球
送出感谢: 7 次
接收感谢: 74 次

Re: [原创]编译打包程序新手指导

#10

帖子 adagio » 2008-08-04 17:05

haria1988 写了:第一个,checkinstall
安装命令:sudo apt-get install checkinstall
程序功能:能跟踪由“make install”或类似命令安装的所有文件,并为这些文件创建Slackware、RPM或者Debian安装包,然后把它添加到已安装软件包数据库中,以便能简便的卸载或发布安装包。


这个有搞头,LZ试过没有啊?所有tarball安装的都程序能追踪到?
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
HuntXu
论坛版主
帖子: 5778
注册时间: 2007-09-29 3:09
送出感谢: 0
接收感谢: 6 次

#11

帖子 HuntXu » 2008-08-04 17:10

代码: 全选

hunt@bubble:~$ sudo pacman -Ss checkinstall
密码:
community/checkinstall 1.6.1-2
    spy for 'make install' and build rpm or deb


spy :lol:
HUNT Unfortunately No Talent...
NSP
帖子: 34
注册时间: 2008-04-12 11:03
送出感谢: 0
接收感谢: 0

#12

帖子 NSP » 2008-08-04 18:00

:roll: :roll: 支持!继续学习!
头像
cs772421
帖子: 171
注册时间: 2008-08-01 7:29
送出感谢: 0
接收感谢: 0
联系:

#13

帖子 cs772421 » 2008-08-15 11:25

我要个像winavi那样的视频转换器和一个能让windows系统的手机与linux系统的电脑进行数据同步的软件!麻烦楼主帮帮我吧!
头像
xiajiebuhui
帖子: 193
注册时间: 2008-07-17 13:24
送出感谢: 0
接收感谢: 0
联系:

#14

帖子 xiajiebuhui » 2008-08-28 16:44

不错,谢谢,学习了
头像
yuyongji1987
帖子: 246
注册时间: 2007-11-27 17:13
来自: QLSC@SDU
送出感谢: 0
接收感谢: 0
联系:

#15

帖子 yuyongji1987 » 2008-08-28 16:50

顶一个
回复

回到 “编译或打包”