程序包编译

程序包编译安装:
Application-VERSION-release.src.rpm –> 安装后,使用rpmbuild命令制作 成二进制格式的rpm包,而后再安装
源代码–>预处理–>编译–>汇编–>链接–>执行
源代码组织格式:
多文件:文件中的代码之间,很可能存在跨文件依赖关系
C、C++:make 项目管理器
configure脚本 –> Makefile.in –> Makefile
java: maven
编译安装
C语言源代码编译安装三步骤:
1、./configure
(1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的 指定以及Makefile.in文件生成Makefile
(2) 检查依赖到的外部环境,如依赖的软件包
2、make 根据Makefile文件,构建应用程序
3、make install 复制文件到相应路径
开发工具:
autoconf: 生成configure脚本
automake:生成Makefile.in
注意:安装前查看INSTALL,README
开源程序源代码的获取:
官方自建站点:
apache.org (ASF:Apache Software Foundation)
mariadb.org …
代码托管:
SourceForge.net
Github.com
code.google.com
c/c++编译器: gcc (GNU C Complier)

编译C源代码:
准备:提供开发工具及开发环境
开发工具:make, gcc等
开发环境:开发库,头文件
glibc:标准库
实现:通过“包组”提供开发组件
Development Tools
Server Platform Development

编译安装
解压缩后要进到解压后的文件夹里进行下面的
第一步:configure脚本
示例:
./configure \
–prefix=/app \ 把程序安装到/app下
–sysconfdir=/etc/http22 \ 配置文件单独放在/etc/http22下
–enable-ssl 启用服务(加密服务)
选项:指定安装位置、指定启用的特性
–help: 获取其支持使用的选项 (大部分都是带–help功能的)
选项分类:
安装路径设定:
–prefix=/PATH: 指定默认安装位置,默认为/usr/local/
–sysconfdir=/PATH:配置文件安装位置
System types:支持交叉编译

Optional Features: 可选特性
–disable-FEATURE
–enable-FEATURE[=ARG]
Optional Packages: 可选包
–with-PACKAGE[=ARG],依赖包
–without-PACKAGE,禁用依赖关系
注意:通常被编译操作依赖的程序包,需要安装此程序包的“开发”组件,其包名 一般类似于name-devel-VERSION
第二步:make
示例:
make -j 4 && echo -e “\a” && sleep 1 && echo -e “\a” && sleep 1 && echo -e “\a”
成功后响几声 没一声中间听几秒
第三步:make install
apachectl start启动服务

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96860

(0)
张陆禄张陆禄
上一篇 2018-04-22 19:50
下一篇 2018-04-22 19:55

相关推荐

  • 简述一下TCP三次握手四次挥手

    TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。 原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。 TCP三次握手 TCP建立连接为什么是三次握手,而不是两次或四次? 个人理解:因为要双方都要确定对方的网络没毛病,通讯正常。 还有一个网上看到的说法,我觉得很有意思: 我:1+1等于几? 她:2,2+2等于几? 我:4 …

    2018-04-30
  • 命令以及参数 集合

    简单命令和参数 一个集合

    Linux笔记 2018-08-05
  • linux学习4

    linux学习4

    Linux笔记 2018-07-14
  • 新开始,新航程

           每一个夏天都是变动的季节,这个夏季我毕业了。大学最后的时光是在实验室度过的,每天都被瓶瓶罐罐所包围,鼻子里不时的飘进乙酸乙酯的香味,研究完了生物柴油的催化,是时候该为自己的未来找一条出路了。         大二的时候出于对计算机的着迷,一不小心点进了51cto,从此就走上了不归路。从计算机网络到linux,再到mysql,我在这个世界里乐此不…

    Linux笔记 2018-07-21
  • Linux用户和组

    我们知道Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。由于是多用户操作系统,必然要涉及到时管理用户。由于用户访问Linux上的资源比较多,为了方便管理出现的组的概念.将多个用户添加到一个组里,方便管理。 介绍安全3A 资源分派: Authentication:认证 Au…

    Linux笔记 2018-04-08
  • 服务器

    服务器的组成及应用

    2018-04-01