Red Hat Developer Toolset augments Red Hat Enterprise Linux with the latest, stable versions of GCC that install alongside the original base version. This version of Red Hat Developer Toolset 8.1 Beta includes the following new components:
- GCC 8.2.1
- GDB 8.2
- binutils 2.30
- elfutils 0.176
- Valgrind 3.14.0
This Beta release is supported on Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7 for AMD64 and Intel 64 architectures. It also supports the following architectures on Red Hat Enterprise Linux 7: 64-bit ARM, big- and little-endian variants of IBM POWER (), and IBM Z. See below for more information about each updated component.
Continue reading “Red Hat Developer Toolset 8.1 Beta now available”
Red Hat Software Collections supply the latest, stable versions of development tools for Red Hat Enterprise Linux via two release trains per year. We are pleased to introduce three new and two updated components in this release, Red Hat Software Collections 3.3 Beta.
The new components are:
- Ruby 2.6
- MariaDB 10.3 featuring a new MariaDB Connector for Java
- Redis 5.0
The updated items include:
- Two updates to Apache httpd
- One update to HAProxy
See below for component details.
Continue reading “Red Hat Software Collections 3.3 Beta: New and updated components”
We’ve had wonderful participation in the Red Hat Enterprise Linux 8 Beta, and if you participated in it, we hope you found the numerous related articles helpful. But whether or not you’ve tried Red Hat Enterprise Linux 8 Beta, if you’re attending Red Hat Summit 2019 next month, here are two hands-on labs you’ll want to participate in.
Continue reading Two Red Hat Enterprise Linux 8 labs at Red Hat Summit 2019: Definitive RHEL Beta, Applications Streams
SystemTap has extensive libraries called tapsets that allow developers to instrument various aspects of the kernel’s operation. SystemTap allows the use of wildcards to instrument multiple locations in particular subsystems. SystemTap has to perform a significant amount of work to create instrumentation for each of the places being probed. This overhead is particularly apparent when using the wildcards for the system call tapset that contains hundreds of entries (
syscall.*.return). For some subsets of data collection, replacing the wildcard-matched syscall probes in SystemTap scripts with the
kernel.trace("sys_enter") and the
kernel.trace("sys_exit") probe will produce smaller instrumentation modules that compile and start up more quickly. In this article, I’ll show a few examples of how this works.
Continue reading “Speed up SystemTap script monitoring of system calls”
Red Hat Enterprise Linux 8 Beta ships a new tool, called Image Builder, that allows you to create custom Red Hat Enterprise Linux system images in a variety of formats. These include compatibility with major cloud providers and virtualization technologies available in the market. As a result, it enables you to quickly spin up new Red Hat Enterprise Linux (RHEL) systems in different platforms, according to your requirements. At this time, Image Builder is available as a Technology Preview Feature.
In this article, we’ll show how to set up Image Builder in Red Hat Enterprise Linux 8 Beta and create a couple of images to test its capabilities. To follow this tutorial, you will need two virtual machines running Red Hat Enterprise Linux 8 Beta. We’ll not cover Red Hat Enterprise Linux 8 Beta installation in this post. For more information, take a look at Get RHEL8 Beta.
Continue reading “Red Hat Enterprise Linux 8 Image Builder: Building custom system images”
Application developers continue to need newer versions of libraries, including core runtimes like GNU C Library (glibc), for their applications. In this article, I’ll look at some issues related to upgrading glibc in an operating system (OS) distribution, and I also encourage you to read Florian Weimer’s excellent blog post on the topic.
Deciding between a library rebase or continued backporting of commits involves a complex set of risks and rewards. For some customers and users, it is important not to rebase the library (ensuring the lowest risk of impact by change); but for others, the rebase brings valuable bug fixes (lowest risk of impact from known issues). In other cases, the newer library may perform better, even if the interfaces haven’t changed, because it can take advantage of newer hardware or a newer Linux kernel (performance advantage to first mover).
There is no way to simultaneously satisfy all the requirements of slow-moving versus fast-moving development. The recent work in Fedora Modularity is aimed at solving the root of this problem, but there is a limit to this work. The further down the stack you go, the harder the problem becomes. The potential for breakage further up the stack increases. You can’t always arbitrarily change a component’s installed version without consequences, either at build time or at runtime.
Continue reading “A platform interface for the GNU C Library”
Linux has supported many kinds of tunnels, but new users may be confused by their differences and unsure which one is best suited for a given use case. In this article, I will give a brief introduction for commonly used tunnel interfaces in the Linux kernel. There is no code analysis, only a brief introduction to the interfaces and their usage on Linux. Anyone with a network background might be interested in this information. A list of tunnel interfaces, as well as help on specific tunnel configuration, can be obtained by issuing the iproute2 command
ip link help.
Continue reading “An introduction to Linux virtual interfaces: Tunnels”
If you’ve developed Windows applications with .NET, you may have found yourself in a situation where the framework did not provide the APIs you needed. When that happens, you first need to identify the system APIs and then make them available using PInvoke. A website like pinvoke.net provides copy-and-pasteable code snippets for many Win32 API functions.
.NET Platform Invoke (PInvoke) makes it easy to consume native libraries. In this article, we’ll take a look at using PInvoke for Linux system functions.
Continue reading “Using .NET PInvoke for Linux system functions”
The concept of RPM packaging can be overwhelming for first-timers because of the impression a steep learning curve is involved. In this article, I will demonstrate that building an RPM with minimal knowledge and experience is possible. Note that this article is meant as a starting point, not a complete guide to RPM packaging.
Continue reading “RPM packaging: A simplified guide to creating your first RPM”
JDK Mission Control is now the newest member of the Red Hat Software Collections (RHSCL). JDK Mission Control is a powerful profiler for HotSpot Java virtual machines (JVMs) and has an advanced set of tools that enable efficient and detailed analysis of the extensive data collected by JDK Flight Recorder. The toolchain enables developers and administrators to collect and analyze data from Java applications running locally or deployed in production environments using OpenJDK 11.
In this article, I will go through a primary example of setting up JDK Mission Control. For Linux, JDK Mission Control is part of the RHSCL and, for Windows, it is available as part of the OpenJDK zip distribution on the Red Hat Customer Portal. For Linux, these instructions assume that Red Hat Build of OpenJDK 11 is already installed. I will show how to set up the system to install software from RHSCL, which provides the latest development technologies for Red Hat Enterprise Linux. Then, I will install the JDK Mission Control and run a simple sample application. The whole tutorial should take fewer than 10 minutes to complete.
Continue reading “Set up JDK Mission Control with Red Hat Build of OpenJDK”