Table of Contents
Why does Linux need to compile source code?
linux compilation source code tutorial
Home Operation and Maintenance Linux Operation and Maintenance Why does Linux need to compile source code?

Why does Linux need to compile source code?

Mar 17, 2023 am 10:21 AM
linux compile

Reason: 1. There are many versions of Linux, but each version uses different software or kernel versions, and the environment that the binary package depends on may not necessarily be able to run normally, so most software directly provides source code for processing. Compile and install. 2. Easy to customize to meet different needs. 3. Convenient for operation and maintenance and developer maintenance; source code can be packaged as binary, but packaging this software will require costly extra work, including maintenance, so if it is source code, the software manufacturer will maintain it directly.

Why does Linux need to compile source code?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

Why does Linux need to compile source code?

Generally speaking, our software installation methods include yum (rpm) and source code compilation. So why do we need source code? Compile and install some software? There are several reasons for choosing source code to compile and install software:

  • To meet different operating platforms, we have many Linux versions, but each version uses different software or kernel versions, and The environment our binary packages rely on may not necessarily run normally, so most software provides source code directly!

  • Easy to customize to meet different needs. Many times the software we need can be customized. I can install whatever I need. Most binary codes can be installed with one click. , so the degree of freedom is not high!

  • It is convenient for operation and maintenance and developer maintenance. Our source code can be packaged as binary, but packaging this software will require a costly extra work, including maintenance, so if If it is source code, the software manufacturer will maintain it directly, but if it is binary, it is usually provided by the Linux publisher.

linux compilation source code tutorial

Almost all software on Linux is GPL authorized, so almost all software will provide source code.

To be executed on Linux, a software must be a binary file. Therefore, when we get the software source code, we need to compile it into a binary file before it can be run on Linux.

1. Software compilation process

It takes two steps to compile the source code into a binary file that can be run by Linux:

  • Use the gcc compiler to compile the source code into an object file

  • Use the gcc compiler again to link the object file into a binary file

This process seems simple, but in fact it is not. The source code of a software is often encapsulated in multiple source files. In addition, these files have intricate dependencies, and compilation needs to be carried out in strict accordance with the specified order, which undoubtedly increases the difficulty of compilation. Fortunately, the make command can help us simplify the compilation process.

The entire compilation process is condensed in the Makefile file (telling the make command how to compile and link the program). When the make command is executed, make will go to the current directory to find the Makefile file, and based on the file It is required to complete the entire compilation process.

The Makefile file is generated by the configure command. When executing the configure command, configure will dynamically generate a Makefile suitable for this system based on the current system environment for use by the make command.

2. Linux source code installation steps

  • Get the source code
    Download the source code of the software to /usr/ local/ and unzip it.

  • View the INSTALL and README files
    After decompression, view the INSTALL and README files. These two files introduce the installation method and precautions of this software in detail.

  • Create a Makefile
    Execute the configure command to generate a Makefile.

  • Compile
    Execute the make clean;make command to compile the source code into a binary file.
    PS: The make clean command is used to clear the target files generated by the last compilation. This step is optional, but in order to ensure the success of compilation, it is better to add it. Prevent compilation failure due to residual object files in the software.

  • Installation
    Execute the make install command to install the binary file compiled in the previous step into the specified directory.

3. Installation demonstration

1) Enter /usr/local/ and create the memcached directory :

1

2

cd /usr/local/

mkdir memcached

Copy after login

2) Download the source code of memcached

1

wget http://memcached.org/files/memcached-1.4.29.tar.gz

Copy after login

3) Unzip the source code

1

tar -zxvf memcached-1.4.29.tar.gz

Copy after login

4) Execute configure to generate a Makefile

1

./configure --prefix=/usr/local/memcached/

Copy after login

At this time, a Makefile will be generated in the current directory.

Note: The –prefix parameter specifies the software installation directory. When the make install command is executed, the software will be installed in this path. If this parameter is not specified and prefix is ​​not specified, the executable file will be placed in /usr/local/bin by default, and the library file will be placed in /usr/local/lib by default. , the configuration file is placed in /usr/local/etc by default. Other resource files are placed in /usr/local/share.

5) Execute make, read the instructions from the Makefile, and compile the source code

1

make

Copy after login

此时make会读取Makefile文件,将源码编译成二进制文件,并存放在当前目录下。

执行这一步之前可以先进行清理作业:

1

make clean && make uninstall

Copy after login

6)执行make install,将软件安装至指定目录

1

make install

Copy after login

此时二进制文件会被安装到先前configure prefix参数设置的路径中去。
安装完成!

4、cmake命令(了解)

cmake就是一个与make同级别的编译工具,只不过它依靠的不是Makefile作为编译规则,而是根据CMakeLists.txt来编译的。
CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。

CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。
如果有嵌套目录,子目录下可以有自己的CMakeLists.txt。

相关推荐:《Linux视频教程

The above is the detailed content of Why does Linux need to compile source code?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What computer configuration is required for vscode What computer configuration is required for vscode Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

vscode cannot install extension vscode cannot install extension Apr 15, 2025 pm 07:18 PM

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Can vscode be used for mac Can vscode be used for mac Apr 15, 2025 pm 07:36 PM

VS Code is available on Mac. It has powerful extensions, Git integration, terminal and debugger, and also offers a wealth of setup options. However, for particularly large projects or highly professional development, VS Code may have performance or functional limitations.

What is vscode What is vscode for? What is vscode What is vscode for? Apr 15, 2025 pm 06:45 PM

VS Code is the full name Visual Studio Code, which is a free and open source cross-platform code editor and development environment developed by Microsoft. It supports a wide range of programming languages ​​and provides syntax highlighting, code automatic completion, code snippets and smart prompts to improve development efficiency. Through a rich extension ecosystem, users can add extensions to specific needs and languages, such as debuggers, code formatting tools, and Git integrations. VS Code also includes an intuitive debugger that helps quickly find and resolve bugs in your code.

How to use VSCode How to use VSCode Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCode) is a cross-platform, open source and free code editor developed by Microsoft. It is known for its lightweight, scalability and support for a wide range of programming languages. To install VSCode, please visit the official website to download and run the installer. When using VSCode, you can create new projects, edit code, debug code, navigate projects, expand VSCode, and manage settings. VSCode is available for Windows, macOS, and Linux, supports multiple programming languages ​​and provides various extensions through Marketplace. Its advantages include lightweight, scalability, extensive language support, rich features and version

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

See all articles