Chapter 1. Setting up a development workstation


Red Hat Enterprise Linux 10 supports development of custom applications. Learn about common development use cases and the required tools. You must ensure that the RHEL system, including a graphical environment, is installed and subscribed.

1.1. Enabling debug and source repositories

To debug system components and measure their performance, enable the debug and source repositories. These repositories contain the required information for debugging and profiling but are disabled by default in a standard Red Hat Enterprise Linux installation.

Procedure

  1. Enable the BaseOS debug information package channel:

    # subscription-manager repos --enable rhel-10-for-$(uname -i)-baseos-debug-rpms
  2. Enable the BaseOS source package channel:

    # subscription-manager repos --enable rhel-10-for-$(uname -i)-baseos-source-rpms
  3. Enable the AppStream debug information package channel:

    # subscription-manager repos --enable rhel-10-for-$(uname -i)-appstream-debug-rpms
  4. Enable the AppStream source package channel:

    # subscription-manager repos --enable rhel-10-for-$(uname -i)-appstream-source-rpms

    The $(uname -i) part is automatically replaced with a matching value for architecture of your system:

    Expand
    Table 1.1. Values produced by $(uname -i) for each architecture
    Architecture nameValue

    64-bit Intel and AMD

    x86_64

    64-bit ARM

    aarch64

    IBM POWER

    ppc64le

    64-bit IBM Z

    s390x

1.2. Setting up to manage application versions

To manage application versions in multi-developer projects, use Git, a distributed version control system included in Red Hat Enterprise Linux.

Procedure

  1. Install the git package:

    # dnf install git
  2. Optional: Set the full name associated with your Git commits:

    $ git config --global user.name "Full_Name"
  3. Optional: Set the email address associated with your Git commits:

    $ git config --global user.email "email@example.com"

    Replace Full Name and email@example.com with your name and email address.

  4. Optional: To change the default text editor started by Git, set the value of the core.editor configuration option:

    $ git config --global core.editor command

    Replace command with the command to be used to start the selected text editor.

To develop applications using C and C++, install the necessary development tools and compilers provided by Red Hat Enterprise Linux. This procedure describes how to install the standard development tools, including the GNU Compiler Collection (GCC), GNU Debugger (GDB), and the LLVM toolset.

Prerequisites

  • The debug and source repositories must be enabled.

Procedure

  1. Install the Development Tools package group including GNU Compiler Collection (GCC), GNU Debugger (GDB), and other development tools:

    # dnf group install "Development Tools"
  2. Install the LLVM-based toolchain including the clang compiler and the lld linker:

    # dnf install llvm-toolset
  3. Optional: For Fortran dependencies, install the GNU Fortran compiler:

    # dnf install gcc-gfortran

1.4. Setting up to debug applications

To analyze and troubleshoot internal application behavior, {ProductName} offers multiple debugging and instrumentation tools.

Prerequisites

  • The debug and source repositories is enabled.

Procedure

  1. Install the tools for debugging:

    # dnf install gdb valgrind systemtap ltrace strace
  2. Install the dnf-utils package to use the debuginfo-install tool:

    # dnf install dnf-utils
  3. Run a SystemTap helper script for setting up the environment:

    # stap-prep

    Note that stap-prep installs packages relevant to the currently running kernel, which might not be the same as the installed kernel. To ensure stap-prep installs the correct kernel-debuginfo and kernel-headers packages, double-check the current kernel version by using the uname -r command and reboot your system if necessary.

    Make sure SELinux policies allow the relevant applications to run not only normally, but in the debugging situations, too. For more information, see Using SELinux.

To identify the causes of application performance loss, use the performance measurement tools included in Red Hat Enterprise Linux, such as perf, papi, valgrind, and SystemTap.

Prerequisites

  • The debug and source repositories are enabled.

Procedure

  1. Install the tools for performance measurement:

    # dnf install perf papi pcp-zeroconf valgrind strace sysstat systemtap
  2. Run a SystemTap helper script for setting up the environment.

    # stap-prep

    Note that stap-prep installs packages relevant to the currently running kernel, which might not be the same as the installed kernel. To ensure stap-prep installs the correct kernel-debuginfo and kernel-headers packages, double-check the current kernel version by using the uname -r command and reboot your system if necessary.

  3. Enable and start the Performance Co-Pilot (PCP) collector service:

    # systemctl enable pmcd && systemctl start pmcd
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2026 Red Hat
Back to top