Article Title: software packages that require attention when releasing programs in Linux. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
Gcc
Gcc is a collection of GNU compilers, including C, C ++, Java, Ada, Forturn and other compilers. We mainly use C and C ++, their corresponding programs are gcc and g ++. To be compatible with UNIX systems such as BSD, the C compiler program name can also be cc or CC.
Everything in Linux is compiled by gcc. Because the ABI of gcc of different main versions is not the same, if the Linux system and applications use gcc of different main versions for compilation, many problems may occur.
The gcc-v method is used to view the gcc version. Note: not only can the gcc version be displayed, but also the gcc compilation parameters are displayed. This is also very important, even for gcc of the same version, different compilation parameters may also cause compatibility issues, such as the thread model.
Glibc
Glibc is a standard library function in Linux. It encapsulates the vast majority of system calls in Linux, which is equivalent to Windows APIs. All application software depends on it.
When the main version of glibc is changed, the function behavior provided by it may be greatly changed. When programs of different glibc versions are used in hybrid mode, segment errors may often occur.
You can view the glibc version in either of the following ways. One is that the software package for Linux is released in RPM mode. You can use the rpm-q glibc command to view the installed version of glibc. the number after the file name is the version number. In addition to view the/lib directory under the libc-x.y.z.so file, x, y, z marked the main version, the minor version and the revised version.
Kernel
The kernel is the core of Linux, and all functions of Linux are provided by the kernel, but different kernel versions will change a lot. For example, the differences between 2.4.x and 2.6.x are very large, they are completely incompatible. In addition, even if the 2.6.x kernel is used, different correction versions may be significantly different and may cause compatibility problems.
The production kernel version is run by the uname-r command.