在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README INSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!
我们都知道源码包安装分为这么几个阶段,
1、 ./configure:“configure”会在你的系统上测试存在的特性 Make:编译程序。
5、 cd:进入到这个源码包。

现在ls一下mrtg这个目录下多了一个蓝色字体的httpd-2.2.11这个目录,这个目录就是我们刚解压开的,然后cd进入到这个目录下面!如果不进入到这个目录下而是直接./configure则会出现下图的提示!

3、bug!)然后来建立Makefile文件来完成make!

“configure”脚本有大量的命令行选项,对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。而我们用的最多的也就是下面这条命令:
./configure --prefix=/软件要安装的路径
但是我们也可以直接./configure而不指定路径,通常通过从源码包编译安装的软件默认路径都是/usr/local/,如果./configure不成功而直接去make的话,就会出现下图的错误:

当我们解决完./configure的错误,然后重新./configure成功后,我们就可以编译程序了!
再说几个能关系到能否编译成功的文件:/etc/ld.so.conf、ldconfig
首先说一下/etc/ld.so.conf,这个文件中记录的编译时使用的动态链接库的路径,默认情况下编译器只会使用/lib和/usr /lib这两个目录下的库文件,如果你安装了其他的库,那么安装完成后就在/etc/ld.so.conf把这个库文件中的绝对路径写进去就OK了。
再来看看ldconfig是个什么东西吧:
他是一个程序,它的作用就是将/etc/ld.so.conf中的路径缓存到/etc/ld.so.cache中,因此在安装完一些库文件或者 修改ld.so.conf增加新的路径后需要运行一下/sbin/ldconfig使所有的库文件都缓存都ld.so.cache中,如果没有运行 /sbin/ldconfig,即使库文件就在/etc/ld.so.conf中,也是不会被使用的,结果在编译的过程中同样报错缺少XXX库!
4、Make:编译程序。

在编译的时候,gcc个版本之间存在着差异,所以有时候用不同版本的gcc去编译,有的版本能编译成功,有的就编译失败,这样的错误只是版本问题。
另外在make的时候会出现的另一个错就是比较难办的,遇到这样的问题就只能凭经验查找原因,比如说某个头文件没有找到,这个时候就要顺着出错的位置一行一行的往上找,比如显示XXXXXX.h………no such file or directory,说明缺少头文件,或者找到你觉得有价值的错误信息去搜索引擎里搜索,从这里可能会找到对你有用的信息,最重要的就是在安装之前仔细的去看README、INSTALL文件,这两个文件里会告诉你程序应该怎样去安装,需要什么依赖文件等等。
有的时候在编译时不知道是否编译成功,而在没有编译成功就去make install肯定会出错,这样就增加了问题的复杂性,俗话说的好“道高一尺魔高一丈”,这样我们可以在make结束的时候通过一条命令来检查是否成功编译:echo $?

输入这条命令回车后,输出的结果是0,那么就说明成功编译,否则就是出错了,echo $?表示检查上一条命令的退出状态,程序正常退出返回0!
5、Make install:安装文件!

它也从Makefile中读取指令,然后安装到指定的位置。
看到上图输出0之后我们就可以make install来安装了,运行完之后输入echo $?检查看看是否有错误,只要输出结果为0,那就说明我们的安装成功,我们可以测试一下,把Apache的服务起来/usr/local/apache2/bin/apachectl start,因为Apache的端口是80所以我们netstat -lan | grep 80来看看80端口处于监听状态不:


成功了,说明我们的安装没问题!
其实./configure、make、make install这三个命令,我们可以用&&来把命令连接起来执行,表示当前一条命令正常结束后,后面的命令才会执行,这个办法很好,既节省时间,又可以防止发生错误。例:
./configure && make && make install
相关推荐
./configure && make && make install ``` 3. **编译安装 DAQ:** ``` tar zxvf daq-2.06 cd daq-2.06 ./configure && make && make install ``` 4. **编译安装 libpcap:** ``` tar zxvf libpcap-...
- 编译安装: `./configure && make && make install` - **zlib**库是Nginx HTTP gzip模块所必需的。 - 示例命令: - 下载并解压: `tar -zxf zlib-1.2.8.tar.gz` - 编译安装: `./configure && make && make ...
- `./configure --prefix=/usr/local/example-app --bindir=/usr/local/bin --libdir=/usr/local/lib` 4. **编译** - `make` 5. **安装** - `sudo make install` 通过这种方式,我们可以自定义应用程序的安装...
cd /usr/src && tar xzf nagios-3.2.3.tar.gz && cd nagios-3.2.3 && ./configure --with-command-group=nagcmd --prefix=/usr/local/nagios && make all && make install && make install-init && make install-...
./configure --prefix=/opt/gtk --with-x --enable-win32=no make make install ``` 注意:`--enable-win32=no`参数是为了排除对Windows的支持。 ##### 5. 安装 Pango ```bash tar zxvf pango-1.30.1.tar.gz cd ...
4. 编译安装 Squid:使用 configure 命令来配置 Squid,例如 `# ./configure -prefix=/usr/local/squid`,然后使用 make 命令编译 Squid,例如 `# make`,最后使用 make install 命令安装 Squid,例如 `# make ...
- 配置、编译和安装:`./configure && make && sudo make install`。 2. **pcre** - 正则表达式库 PCRE (Perl Compatible Regular Expressions) 是一个用于处理正则表达式的库,Nginx在处理URL重写规则时会用到。...
- 对于手动编译安装,首先解压MySQL软件包,然后运行`./configure`和`make && make install`命令完成安装过程。 - 安装完成后,记得设置MySQL的root密码,以及根据需求创建数据库和用户。 ##### 5. 安装zlib - zlib...
4. 配置安装路径并编译:`./configure --prefix=/usr/local/apr && make` 5. 安装:`make install` ##### 第二步:安装apr-util-1.4.1 1. 返回上级目录:`cd ..` 2. 解压apr-util-1.4.1.tar.gz:`tar -zvxf apr-...
在安装完所有依赖库后,编译 FFmpeg,命令为 `./configure --prefix=/usr --enable-gpl --enable-shared ... ; make ; make install`。其中,需要指定启用各种格式的支持参数,例如 `--enable-mp3lame`、`--enable-...
$ ./configure --prefix=/home/user/protobuf-main/build/install ``` - 编译源代码(建议使用多核编译提高效率): ``` $ make -j4 ``` - 安装编译结果: ``` $ sudo make install ``` - 刷新共享库: ...
例如:./configure --prefix=/home/zhaochun/user/bluez/usr --host=arm-linux-gnueabihf && make && sudo make install。 在编译Bluez之前,我们需要安装好所有的依赖项,包括Expat、D-bus和glib。否则,编译将会...
./configure && make && make install ``` 3. **安装 zlib**: ```bash # 解压 tar xzvf zlib-1.2.8.tar.gz # 进入目录 cd zlib-1.2.8 # 配置、编译、安装 ./configure && make && make install ``` ###...
- 修改完成后,再次运行`./configure`并执行`make`和`make install`完成编译安装。 2. **交叉编译apr-util**: - 解压apr-util源码包。 - 使用`./configure --host=arm-linux --prefix=/usr/local/cross-apr-...
此外,还需注意编译`libltdl`目录下的源码,执行如下命令:`./configure --enable-ltdl-install; make; make install`。 ##### 3. 安装Zlib Zlib是一个广泛使用的压缩库,很多其他库在安装时都需要依赖于它。因此...
1. **切换目录并运行配置文件**: 首先通过`cd`命令进入`template-2.1`目录,然后执行`./configure`命令。这个`configure`文件通常是用于检测系统环境,并生成适合当前系统的Makefile文件。 2. **调用make进行编译...
cd /usr/src && tar xzf pcre-8.01.tar.gz && cd pcre-8.01 && ./configure --prefix=/usr/local/pcre && make && make install ``` **步骤2:** 接着安装Nginx,并为其添加JVMRoute模块,该模块用于实现后端Tomcat...
- **编译与安装**:在 Nginx 源代码目录下执行 `./configure --add-module=路径/to/nginx-rtmp-module` 来添加模块。然后进行 `make` 和 `make install` 步骤来编译并安装 Nginx,确保新编译的版本包含了 rtmp 模块...
./configure --prefix=/usr --enable-shared --enable-gpl --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libopus --enable-nonfree make sudo make install...