源码编译安装
源码编译安装
案例:mariadb编译安装
下载并解压缩源码包:
bash
tarxvfmariadb-10.2.19.tar.gz
源码编译安装mariadb:
bash
cdmariadb-10.2.19/cmake.\-DCMAKE_INSTALL_PREFIX=/app/mysql \-DMYSQL_DATADIR=/data/mysql/ \-DSYSCONFDIR=/etc/ \-DMYSQL_USER=mysql \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \-DWITH_DEBUG=0 \-DWITH_READLINE=1 \-DWITH_SSL=system \-DWITH_ZLIB=system \-DWITH_LIBWRAP=0 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci#make &&make installmake-j8&&makeinstall;date
TIP
提示:如果出错,执行rm -f CMakeCache.txt
FAQ
要区分源码包
带系统发型版本名称的都为二进制包,而只有软件包名称的为源码包。
cmake的用法
bash
yum-yinstallcmake
编译安装说明
本次利用cmake编译,而不是利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译编译选项:https:make# 使用4个并行任务构建make-j4# 使用自动核心数的并行构建make-j
总之,make -j
是提高构建效率的有效方式,特别是在处理复杂和大型项目时。希望这些信息对您有所帮助!如果您有其他问题,欢迎继续咨询。
案例:彻底卸载源码编译安装的程序
案例:make test
bash
maketest是什么意思?
make test
是一个在软件开发和编译过程中常用的命令,主要用于执行一系列自动化测试,以验证软件的功能和稳定性。以下是对该命令的详细解释:
make
命令
- 目的:
make
是一个构建工具,用于从源代码自动化地编译和构建程序。它通过读取Makefile
文件中的指令,自动化处理编译过程。
test
目标
- 定义:在
Makefile
文件中,test
通常是一个定义好的目标,用于运行软件的测试用例。 - 作用:执行
make test
时,make
会寻找Makefile
中与test
相关的指令,通常执行一些测试脚本或程序,以验证软件的各项功能是否正常。
- 功能
- 验证功能:
make test
可以帮助开发者和用户确认软件在编译之后仍然正常运行,所有功能符合预期。 - 自动化测试:多数现代软件项目会包含自动化测试框架,执行
make test
会运行这些自动化测试,检查代码的正确性和稳定性。 - 发现问题:通过测试,可以在发布软件之前发现潜在的错误或缺陷,从而提高软件的质量。
- 注意事项
- 可能性:并不是所有的软件包都包含
test
目标,具体取决于开发者在Makefile
中的设计。 - 测试时间:运行测试可能需要一些时间,具体取决于测试的数量和复杂性。
- 输出结果:执行
make test
后,会输出测试结果,包括通过和失败的测试数量,通常会提供详细信息,以帮助用户理解测试的过程和结果。
总结
make test
是一个重要的命令,用于确保编译后的软件能够正常工作,帮助开发者在软件发布之前提高其稳定性和可靠性。通过运行自动化测试,开发团队可以更好地维护代码质量,确保满足用户需求。如果您在使用该命令时遇到任何问题,可以查看测试输出信息,以获得更多上下文来进行故障排除。