零界培训网
帐户
密码
验证码
6588
机构
个人
设为首页
成都培训网--地区规模最大、内容最丰富的成都培训教育平台
首页 网上大课堂 投诉曝光台 教师与人才 考试与证书 培训资料 培训目录 学习社区 零界培训
首    页 网上课堂 投诉曝光 教师人才 考试证书 培训新闻 培训目录 学习社区 零界培训
 电脑IT  语言培训  艺术修养  学历教育  管理咨询  出国事务 运动健身 课程辅导 职业培训 少儿培训
成都办公应用培训 微软认证 计算机等级考试 电脑维修 电脑速录 硬件工程 电子商务 非线性编辑 数控技能 办公应用
成都辅助设计培训 网页设计 平面设计 三维设计 辅助设计 室内设计师
成都游戏动漫培训 动画设计 游戏开发 动漫设计
成都程序开发培训 JAVA 软件开发 .NET 程序 PERL 嵌入式 程序开发
成都网络技术培训 数据库 思科认证 LINUX 华为认证 网络工程师 网络技术
成都培训网广告
课程 资讯 机构 考试 留言
 
图片资讯

西南交大网络教育学院

嫣姿造型化妆培训—龙

成都市会展中心附近的

成都嵌入式培训-详解linux源码包安装过程


字体:   发布时间: 2008-10-06   点击次数: 718  加入收藏


资讯关键字: 成都嵌入式培训-详解linux源码包安装过程成都嵌入式培训 高薪就业 re.er嵌入式学院

    

详解linux源码包安装过程


1. 解压缩包
 
可以通过下载或其他方式获得了一个软件包,通常它是一个压缩文件,大部分可能是存档的和压缩的,这些文件一般以 .tar .gz为扩展名。
 
首先拷贝它到一个目录,然后 untar 和 gunzip 解压它。 通常这个命令是
 
tar xzvf filename [filename 是软件文件名称]
 
 解压后的文件一般会在当前目录下的创建子目录,并以这个包名来命名。 你也可以用用这个命令预先查看结果 tar tzvf filename,显示包里有那些解压文件。
 
源文件如果是新的 bzip2 (.bz2) 格式,可用
 
bzip2 -cd filename | tar xvf -,或更简单的 tar xyvf filename ,这很不错的tar命令被不断的完善。
 
说明:
 
A:有时候一些文件必须安装在用户的 home 目录下,或更多的是在一个固定的目录,比如 /, /usr/src, 或 /opt 。所以必须仔细阅读安装包的配置信息。当一个软件包里如果有config 和 Makefiles 文件则最好去编辑它,这里包括了安装指令和说明。提示:你改变 makefile 会导致不同的结果。大部分软件包允许用 make install 自动处理安置二进制文件在适当的系统位置。
 
B:你可能碰到过一些共享文件、shell 存档文件、尤其是 Internet 上的源码新闻组。它们保留的原因是具有人性化的可读性,并且允许新闻组缓冲并通过它们筛选和剔除出不合格的。它们可能用 unshar filename.shar 命令来解压。
 
C: 一些源码存档文件是用非标准的 DOS,Mac 或其他压缩的比如:
 
zip, arc, lha, arj, zoo, rar, and shk.
 
D: 有时候,你可能需要使用一个 patch 或显示改变了的 diff 文件来升级或修复存档的源码文件。这 doc 文件或者 README 文件将告诉你怎么去使用。一个很好的命令用标准语法来调用的命令是 patch < patchfile.
 
2: 关于 rpm 安装包
 
一些 Linux 用户惧怕通过使用源码来手动安装软件包,不过现在有方便的 rpm 和 deb 或 新格式的 slp 包。例如:rpm 安装运行平稳又快,作为一个软件安装在某几个有名的操作系统。
 
作为方便的RPM包也存在很多不好的缺点,例如:
 
A: 要了解软件中更多更详细的内容你必须去在二进制中去了解,而不是rpm包。
 
B: 还有安装一个 rpm 包如果需要依赖关系那么安装就可能会导致失败。
 
C: 当 rpm 请求你系统中不同版本的库,那么安装将不能继续,除非你为错误的库位置创建连接符号到正确的位置。
 
 
说明:必须使用root 安装 rpm 和 deb 。因为它需要必须的写入权限。 
 
最简单的,用命令 rpm -i packagename.rpm 和 dpkg --install packagename.deb 会自动解包和安装。
 
3:关于安装 Linux 包出现的一些问题及解决方案
 
   假设 make 失败有个链接错误: -lX11: No such file or directory,正好在 xmkmf 之后已被调用,这可能意味着 Imake 不能被完全建立。检查第一部分 Makefile 文件的的行是这样:
 
?         LIB=            -L/usr/X11/lib
?         INCLUDE=        -I/usr/X11/include/X11
?         LIBS=           -lX11 -lc -lm
 
  这个 -L 和 -I 开关告诉编译器和链接分别在哪里找到 library 和 include 文件。在这个例子里, X11 库应该在 /usr/X11/lib 目录,且 X11 包含文件应该在 /usr/X11/include/X11 目录里。假如对于你的机器上的这个错误,请处理修改 Makefile 并重新再 make。
 
没有声明涉及的数学库函数,像下列各项:
/tmp/cca011551.o(.text+0x11): undefined reference to `cos '
 
要修复它,需要明确链接到匹配的库,在 Makefile (看先前的例子) 里增加一个 -lm 到 LIB 或 LIBS 标记 。
 
用其他方法尝试
 
仍然失败 如果失败,参考下列脚本:
make -DUseInstalled -I/usr/X386/lib/X11/config
这个直接方式的类别相当于。
 
在少数例子里,用 root 运行 ldconfig 可能会解决:
# ldconfig 更新共享库链接符号。
 
一些 Makefiles 使用你系统里未被承认的库别名。一个例子,构建可能需要 libX11.so.6 ,但是在 /usr/X11R6/lib 不存在文件或链接。然而,在那里是 libX11.so.6.1。解决方法是用 root 运行ln -s /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/lib/libX11.so.6 ,接着需要运行 ldconfig 。
有一些包需要你安装一个或更多库的升级版本。需要拷贝一个或更多的库到适当的目录里,删除旧的库,重新设置动态链接库。
4:一些其他的问题处理
 
安装一个shell 脚本如果出现:No such file or directory 的错误消息。这是可以检查文件权限确定文件事可执行的,并检查文件头确定是否 shell 或程序是脚本在指定的位置被调用。一个例子,这个脚本可能是这样开始的:
 
#!/usr/local/bin/EDEN
 
如EDEN的实际安装位置是在你的 /usr/bin 目录,用一个 /usr/local/bin 替代
 
这个脚本不能运行有两个方法来纠正!!
 
A: 文件头改成 #!/usr/bin/EDEN
 
B: 或增加一个链接符, ln -s /usr/bin/EDEN
 
5:一个典型的例子 Xloadimage
 
    首先说明下面的例子来源于国外网站的一个技术实例,这里我做了翻译和整理。
 
这个例子展现一个简单的问题。xloadimage 程序对我的图形工具的调整设置是有用的附加。从源码目录拷贝文件,用 tar xzvf 解压文件,可是在运行 make 的时候出现令人讨厌的错误并停止了。
 
gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
 
-fforce-addr -DSYSV  -I/usr/X11R6/include
 
-DSYSPATHFILE= "/usr/lib/X11/Xloadimage " mcidas.c
 
In file included from /usr/include/stdlib.h:32,
 
                 from image.h:23,
 
                 from xloadimage.h:15,
 
                 from mcidas.c:7:
 
/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:
 
conflicting types for `wchar_t '
 
/usr/X11R6/include/X11/Xlib.h:74: previous declaration of
 
`wchar_t '
 
make[1]: *** [mcidas.o] Error 1
 
make[1]: Leaving directory
 
`/home/thegrendel/tst/xloadimage.4.1 '
 
make: *** [default] Error 2
 
这个错误消息包含了实质的线索:
 
查看 image.h 文件的 23 行:
#include <stdlib.h>
在源码的某处对于 xloadimage, wchar_t 已经在指定标准 include 文件重新定义。 告诉我们首先在 image.h 的 23 行尝试注释它,或许 stdlib.h include 是不存在的,毕竟不是所有都是必需的。
 
在这点,构建中的收益来源于所有任何一个致命错误。xloadimage 现在功能正常。
 
6: 安装 Linux 包的一些总结
 
坚持自己动手处理所有的安装出现的问题,不断总结努力学习,从错误里去仔细研究,努力动手排错,从每个不足甚至失败的地方得到扩充和提升,可以增强安装构建软件的技巧。

更多精彩文章,请登陆www.re-er.com.cn
专业成就业事业,高端缔造高薪!
RE.ER嵌入式学院

 



上一条:软件测试定向培训 下一条:培训、主持人、语言表演

打印本页】 【关闭】 【返回顶部
网络报警台
成都培训网 版权所有 www.028PX.com Copyright © 2005-2007
电话:028-66714697   邮箱:770780397@qq.com
蜀ICP备05006722号
成都培训网