Checking gcc version in linux

How to know the gcc version used to build the linux?

I use OpenWRT. it’s a linux distribution for embedded systems I want to know the gcc version used to compile the linux I made some researchs in the net but without results. I tried to execute these commands for some existing binary in the linux OpenWRT (like wget)

strings -a | grep "GCC" strings -a | grep "gcc" 
strings -a /lib/libgcc_s.so.1 | grep "gcc" strings -a /lib/libuClibc-0.9.30.1.so | grep "gcc" 

does not give any result Are there a way to know used gcc to build the whole linux (For both user space and kernel space)?

There is no way to determine which gcc is used to build the «whole linux». Each executable may have been built with a different gcc, or even a library within the executable was built with one gcc, or it may not have even been a C program at all (C++, Fortran, Java (with gcj), etc).

2 Answers 2

For programs, it appears in the .comment section of ELF executables, if your system is using ELF.

$ cat main.c int main() < >$ gcc main.c $ objdump -s -j .comment a.out a.out: file format elf64-x86-64 Contents of section .comment: 0000 00474343 3a202844 65626961 6e20342e .GCC: (Debian 4. 0010 372e322d 35292034 2e372e32 00474343 7.2-5) 4.7.2.GCC 0020 3a202844 65626961 6e20342e 342e372d : (Debian 4.4.7- 0030 33292034 2e342e37 00 3) 4.4.7.

The compiler used to compile the kernel is available from the string in /proc/version , for example:

$ cat /proc/version Linux version 3.8.5 (. ) (gcc version 4.7.2 (Debian 4.7.2-5) ) .

A major caveat

The .comment section is optional. Many distributions will strip it from the executable when the executable is bundled into a package. The section will be placed in a separate debug package.

$ objdump -s -j .comment /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0 /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0: file format elf64-x86-64 objdump: section '.comment' mentioned in a -j option, but not found in any input file

After installing the libcurl3-dbg package, we get an image with the stripped sections by following the GNU debug link:

$ objdump -s -j .comment \ /usr/lib/debug/.build-id/8c/4ae0ad17a4e76bab47c487047490061bd49de3.debug /usr/lib/debug/.build-id/8c/4ae0ad17a4e76bab47c487047490061bd49de3.debug: file format elf64-x86-64 Contents of section .comment: 0000 4743433a 20284465 6269616e 20342e37 GCC: (Debian 4.7 0010 2e322d35 2920342e 372e3200 .2-5) 4.7.2.

Источник

How to Check GCC Version on Ubuntu

When working with C and C++ programming languages, it is essential to use a compatible compiler that supports the desired language features and optimizes the code accordingly. GCC, the GNU Compiler Collection, is a popular choice for compiling C, C++, Objective-C, Fortran, Ada, and other languages. It is crucial to know the version of GCC installed on your Ubuntu system to ensure that it supports the code you are working with, especially when dealing with recent language features or libraries.

Читайте также:  Linux как установить curl

In this guide, we will walk you through the process of checking the GCC version on an Ubuntu system. By following these steps, you will be able to determine if your system has the appropriate version of GCC installed and if an upgrade or downgrade is necessary to meet your development needs.

Open the Terminal

To begin, open the terminal application on your Ubuntu system. You can either search for “Terminal” in the applications menu or press Ctrl + Alt + T to open a new terminal window.

Option 1: “gcc –version”

Once the terminal is open, enter the following command to check the installed GCC version:

This command will display the current GCC version installed on your system, along with additional information about the compiler.

ehowstuff@ubuntu14:~$ gcc --version gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Option 2: “gcc -v”

Alternatively, you can type “gcc -v” command:

ehowstuff@ubuntu14:~$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)

The “gcc -v” command provides more detailed information about your GCC installation compared to “gcc –version”. When you execute this command, it displays information about the compiler’s configuration, including the target system, supported languages, and the options used during the compilation process. This information can be helpful if you need to know the specifics of your GCC installation, such as the target architecture or enabled features.

Option 3: “aptitude show gcc”

Another alternative is to execute “aptitude show gcc” command:

ehowstuff@ubuntu14:~$ aptitude show gcc Package: gcc State: installed Automatically installed: yes Version: 4:4.8.2-1ubuntu6 Priority: optional Section: devel Maintainer: Ubuntu Developers Architecture: amd64 Uncompressed Size: 42.0 k Depends: cpp (>= 4:4.8.2-1ubuntu6), gcc-4.8 (>= 4.8.2-5~) Recommends: libc6-dev | libc-dev Suggests: gcc-multilib, make, manpages-dev, autoconf, automake1.9, libtool, flex, bison, gdb, gcc-doc Conflicts: gcc-doc (< 1:2.95.3), gcc-doc (< 1:2.95.3), gcc Provides: c-compiler Description: GNU C compiler This is the GNU C compiler, a fairly portable optimizing compiler for C. This is a dependency package providing the default GNU C compiler.

The "aptitude show gcc" command gives you information about the GCC package from the package manager's perspective. Aptitude is a package manager used in Debian and Ubuntu systems, and the command provides details such as the package version, dependencies, a description of the package, and its file size. This information can be useful when managing software packages on your system, especially when dealing with dependencies or determining which version of GCC is available through the package manager.

Читайте также:  Virtualbox astra linux полный экран

Commands and Functions:

  • gcc - The GNU Compiler Collection command
  • --version - An option that displays the version information of the installed GCC
  • gcc -v - This command displays verbose information about the installed GCC version, including the configuration options used during the compilation process, supported languages, and the target architecture.
  • aptitude show gcc - This command provides detailed package information for the installed GCC compiler, including package version, dependencies, description, and file size. Aptitude is a package manager for Debian and Ubuntu systems that simplifies the management of software packages.

Conclusion

By following these steps, you have successfully checked the GCC version on your Ubuntu system. With this information, you can now determine whether your current GCC installation meets the requirements for your development projects. If necessary, you can upgrade or downgrade your GCC installation to a version that supports the desired language features and optimizations.

We hope this guide has been helpful in learning how to check the GCC version on your Ubuntu system. If you have any suggestions or improvements, please feel free to leave a comment below.

Источник

How to Check GCC Version on a Linux Server ?

There are several reasons why you might need to check the GCC version installed on your Linux system:

  1. Compatibility: Some software packages, libraries, or frameworks require a specific version of GCC to compile or run correctly. By checking the GCC version, you can ensure that your system meets the requirements for building or running the desired software.
  2. Troubleshooting: When facing issues while compiling or building software, checking the GCC version can help you identify whether the problem is related to the compiler version. In some cases, upgrading or downgrading the GCC version might resolve the issue.
  3. Performance improvements: Newer versions of GCC often include optimizations, bug fixes, and performance enhancements. By checking your current GCC version, you can determine if it’s worth upgrading to a more recent version to benefit from these improvements.
  4. Security: Staying up-to-date with the latest GCC version is essential for maintaining the security of your system. Newer versions may contain security patches and fixes for known vulnerabilities. Checking the GCC version helps ensure you are using a secure version of the compiler.
  5. Language features: GCC supports multiple programming languages such as C, C++, Objective-C, Fortran, Ada, D, and others. Newer GCC versions often introduce support for new language features and standards. By checking the GCC version, you can verify if your compiler supports specific language features or standards required for your project.
  6. Collaboration: When working in a team, it’s essential to have a consistent development environment across all team members. Checking the GCC version ensures that all team members are using the same compiler version, which helps avoid issues related to different compiler behaviors or features.
Читайте также:  Linux uefi boot mode

By checking the GCC version on your Linux system, you can make informed decisions about upgrading, maintaining compatibility, and ensuring the stability and security of your development environment.

To check the version of the GNU Compiler Collection (GCC) installed on your Linux server, follow the steps below:

Step 1: Open a Terminal Window

Open a terminal window on your Linux server or connect to it using an SSH client.

Step 2: Check the GCC Version

In the terminal window, enter the following command to check the GCC version:

This command will display the GCC version installed on your server, along with some additional information. The output should look similar to this:

gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

In this example, the installed GCC version is 4.4.6.

Need extra details?

Using built-in specs. Target: i686-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux Thread model: posix gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)

To find what gcc package was installed, simply run the following command:

[root@centos62 ~]# rpm -qa | grep gcc
libgcc-4.4.6-3.el6.i686 gcc-4.4.6-3.el6.i686

Conclusion

You have successfully checked the GCC version on your Linux server. It’s essential to keep your GCC version up to date, as newer versions often include performance improvements, bug fixes, and new features. If you need to upgrade your GCC version, consult your distribution documentation for specific instructions.

If you have any questions, comments, or suggestions for improvement, please feel free to share your thoughts in the comments section below. Your feedback is invaluable to us, and it helps us create better and more informative content for our users.

Dimitri Nek

Dimitri is a Linux-wielding geek from Newport Beach and a server optimization guru with over 20 years of experience taming web hosting beasts. Equipped with an arsenal of programming languages and an insatiable thirst for knowledge, Dimitri conquers website challenges and scales hosting mountains with unmatched expertise. His vast knowledge of industry-leading hosting providers allows him to make well-informed recommendations tailored to each client's unique needs.

Источник

Оцените статью
Adblock
detector