1 Release Notes
WARNING:
Oracle Linux 7 is now in Extended Support. See Oracle Linux Extended Support and Oracle Open Source Support Policies for more information.
Migrate applications and data to Oracle Linux 8 or Oracle Linux 9 as soon as possible.
The Software Collection Library is currently available for Oracle Linux 7 (x86_64) and is supported for customers with Oracle Linux Premier Support. Note that a subset of the complete Software Collection Library for Oracle Linux 7 (as available for the x86_64 platform) is also available for the 64-bit Arm (aarch64) platform. For more information, see Software Collection Libraries for Oracle Linux 7 (aarch64).
Oracle Linux 8 provides similar components in the form of Application Streams. For more information, see Oracle Linux: Managing Software on Oracle Linux.
About the Software Collection Library for Oracle Linux
The Software Collection Library enables you install and use
several different versions of the same software at the same time
on a system. Software collections are primarily intended for
development environments, which often require more recent
versions of software components such as Perl, PHP, or Python to
gain access to the latest features, but which need to avoid the
risk of disrupting other processes on the system that rely on
different versions of these components. You use the Software
Collection Library scl utility to run the
developer tools from the software collections that you have
installed under the /opt/rh directory
hierarchy. The scl utility isolates the
effects of running these tools from other versions of the same
software utilities that you have installed.
The Software Collection Library version 3.8 replaces the previous release of the Software Collection Library. This version includes all of the software collections that were available in the previous release, along with some package updates, and also includes additional software collections that were not available in previous releases.
Additions and Updates for the 3.8 Release
The following information applies to the software collections that are available for Oracle Linux 7.
Differences From the Upstream Release
There are some minor differences between the Oracle versions of the software collections and the upstream release.
The following changes are included:
-
Addition of Oracle Linux GPG keys.
-
Removal of the MariaDB, MongoDB, MySQL, PostgreSQL, and Thermostat software collections.
-
Removal of the
rhscl-dockerfilespackage. -
Branding changes.
Available Software Collections
The following software collections are available in the Oracle Linux 7
SoftwareCollections channel on the
Unbreakable Linux Network (ULN) and the Oracle Linux 7
software_collections repository on the Oracle Linux yum server.
-
devassist09 -
DevAssistant 0.9.3 assists in the creation and configuration of the development environment for projects that use the C, C++, Java, and Python programming languages. DevAssistant has a modular architecture that enables it to be modified to work with many languages, frameworks, and tools.
For more information, see https://devassistant.github.io.
-
devtoolset-3 -
The Developer Toolset consists of development, debugging, and performance monitoring tools, including the latest versions of the GNU compiler collection, GNU debugger, and the Eclipse development platform.
For more information, see https://gcc.gnu.org/, https://www.gnu.org/software/gdb/, and https://www.eclipse.org/.
-
devtoolset-4 -
The Developer Toolset consists of development, debugging, and performance monitoring tools, including the latest versions of the GNU compiler collection, GNU debugger, and the Eclipse development platform.
For more information, see https://gcc.gnu.org/, https://www.gnu.org/software/gdb/, and https://www.eclipse.org/.
-
devtoolset-6 -
The Developer Toolset includes development, debugging, and performance monitoring tools, which include the latest versions of the GNU compiler collection and GNU debugger. Note that the Eclipse development platform is no longer available as part of this collection, but you can install the
rh-eclipse46collection separately.The following upgraded components are included in the Developer Toolset version 6.1:
-
GCC updated to version 6.3.1.
-
elfutilsupdated to version 0.168. -
GDB updated to version 7.12.1.
A bug fix update has also been made available for
ltrace.For more information, see https://gcc.gnu.org/ and https://www.gnu.org/software/gdb/.
-
-
devtoolset-7 -
The Developer Toolset includes development, debugging, and performance monitoring tools, which include the latest versions of the GNU compiler collection and GNU debugger.
The following upgraded components are included in the Developer Toolset version 7.0:
-
GCCupdated to version 7.3.1. -
binutilsupdated to version 2.28. -
elfutilsupdated to version 0.170. -
makeupdated to version 4.2.1. -
GDBupdated to version 8.0.1. -
straceupdated to version 4.17. -
SystemTapupdated to version 3.1. -
Valgrindupdated to version 3.13.0. -
OProfileupdated to version 1.2.0. -
Dyninstupdated to version 9.3.2.
For more information, see https://gcc.gnu.org/ and https://www.gnu.org/software/gdb/.
-
-
devtoolset-8 -
The Developer Toolset includes development, debugging, and performance monitoring tools, which include the latest versions of the GNU compiler collection and GNU debugger.
The following upgraded components are included in the Developer Toolset version 8.1:
-
GCCupdated to version 8.2.1. -
GDBupdated to version 8.2. -
binutilsupdated to version 2.30. -
elfutilsupdated to version 0.176. -
straceupdated to version 4.24. -
SystemTapupdated to version 3.3. -
Valgrindupdated to version 3.14.0. -
OProfileupdated to version 1.3.0.
For more information, see https://gcc.gnu.org/ and https://www.gnu.org/software/gdb/.
-
-
devtoolset-9 -
The Developer Toolset includes development, debugging, and performance monitoring tools, which include the latest versions of the GNU compiler collection and GNU debugger.
The following upgraded components are included in the Developer Toolset version 9.1:
-
GCCupdated to version 9.3.1. -
GDBupdated to version 8.3. -
makeupdated to version 4.2.1. -
binutilsupdated to version 2.32. -
straceupdated to version 5.1. -
ltraceupdated to version 0.7.91. -
SystemTapupdated to version 4.1. -
Valgrindupdated to version 3.15.0. -
Dyninstupdated to version 10.1.0.
For more information, see https://gcc.gnu.org/ and https://www.gnu.org/software/gdb/.
-
-
devtoolset-10 -
The Developer Toolset includes development, debugging, and performance monitoring tools, which include the latest versions of the GNU compiler collection and GNU debugger.
The following upgraded components are included in the Developer Toolset version 10.1:
-
Dyninstupdated to version 10.2.1. -
elfutilsupdated to version 0.182. -
SystemTapupdated to version 4.4.
For more information, see https://gcc.gnu.org/ and https://www.gnu.org/software/gdb/.
-
-
devtoolset-11 -
The Developer Toolset includes development, debugging, and performance monitoring tools, which include the latest versions of the GNU compiler collection and GNU debugger.
The following upgraded components are included in the Developer Toolset version 11.0:
-
GCCupdated to version 11.2.1. -
binutilsupdated to version 2.36.1. -
elfutilsupdated to version 0.185. -
dwzupdated to version 0.14. -
GDBupdated to version 10.2. -
straceupdated to version 5.13. -
SystemTapupdated to version 4.5. -
Valgrindupdated to version 3.17.0. -
Dyninstupdated to version 11.0.0. -
makeupdated to version 4.3. -
annobinupdated to version 9.82.
For more information, see https://gcc.gnu.org/ and https://www.gnu.org/software/gdb/.
-
-
git19 -
Git 1.9.4 is built on a decentralized architecture and provides a distributed revision-control system that emphasizes high performance and data integrity, as well as support for non-linear, distributed work flows.
For more information, see https://git-scm.com/.
-
httpd24 -
The Apache HTTP Server implements event-based processing for enhanced performance, FastCGI, an improved SSL module, and the
mod_auth_kerbmodule.The
httpd24software collection provides version 2.4.34 of the software. This release includes a number of bug and security fixes and enhancements from the previous version, as well as improvements for SSL/TLS and support for version 2 of the Automatic Certificate Management Environment (ACME) certificate issuance and management protocol.For more information, see https://httpd.apache.org/docs/2.4/.
-
maven30 -
Maven 3.0.5 is a tool for managing builds, documentation, and reporting for Java projects.
For more information, see https://maven.apache.org/.
-
nginx16 -
NGINX 1.6.2 is a combined web and proxy server that is designed to provide enhanced concurrency and performance without placing excessive demands on memory. Supported features include SSL verification enhancements, improved logging options, thread pooling, and hash load balancing.
For more information, see https://nginx.org/.
-
nodejs010 -
Node.js 0.10 is a programming platform that includes
npmto share and reuse code. This software collection requires the V8 JavaScript engine that is implemented byv8314.For more information, see https://nodejs.org/en/.
-
perl516 -
Perl 5.16.3 provides better performance, new debugging features, enhanced Unicode support, improved interoperability with MySQL and PostgreSQL, and the
mod_perlandperl-DateTimemodules for use withhttpd24.For more information, see https://www.perl.org/ and https://perldoc.perl.org/.
-
php54 -
PHP 5.4.40 provides PEAR 1.9.4, various language and interface improvements, and the APC, memcache, and Zend OPcache extensions.
For more information, see https://www.php.net/.
-
php55 -
PHP 5.5.21 has enhanced language features for better exception handling, generators, and Zend OPcache, and also includes the memcache and mongodb extensions.
For more information, see https://www.php.net/.
-
python27 -
Python 2.7.18 includes a number of additional utilities, a new ordered dictionary type, faster I/O, and better forward compatibility with Python 3. Also included are the Python 2.7.8 interpreter, web-programming extension libraries and
mod_wsgifor use withhttpd24, PostgreSQL connectors, and thenumpyandscipymodules for scientific applications.In this release, the
python27-python-pymongopackage has been updated to version 3.2.1. Note that this version is not fully compatible with the previously shipped version 2.5.2.For more information, see https://www.python.org/.
-
python33 -
Python 3.3.2 includes the Python 3.3.2 interpreter, web-programming extension libraries, and
mod_wsgifor use withhttpd24, MySQL, and PostgreSQL connectors. Also included are thenumpyandscipymodules for scientific applications.For more information, see https://www.python.org/.
-
rh-eclipse46 -
The
rh-eclipse46software collection is an integrated development environment. Previous releases of Eclipse were available as part of the Developer Toolset collections. This release provides an independent software collection that is dependent on therh-java-commoncollection.In this release, the
rh-eclipse46collection is version 4.6.3, which is based on the Eclipse Foundation's Neon release train.This version of the collection provides several bug fixes and the following new plugins:
-
The
m2eplugin provides support for developing maven-based projects. -
The
TestNGplugin provides support for writing and executing tests by using theTestNGframework.
Most other plugins have received incremental updates to fix upstream bugs.
For more information, see https://www.eclipse.org//.
-
-
rh-git29 -
The Git 2.9.3 revision control system is used to track changes in files and coordinate work among multiple contributors in a distributed environment.
For more information, see https://git-scm.com/.
-
rh-git218 -
The Git 2.18.4 revision control system is used to track changes in files and coordinate work among multiple contributors in a distributed environment. This collection includes some bug fixes, as well as features that improve on the
rh-git29software collection. This version includes the Large File Storage (LFS) extension.For more information, see https://git-scm.com/.
-
rh-git227 -
The Git 2.27.0 release of Git is a distributed revision control system with a decentralized architecture. This version introduces numerous enhancements including the following:
-
git checkout command is split into git switch and git restore.
-
Behavior of the git rebase command has changed.
-
Git Large File Storage (LFS) is updated to version 2.11.0.
For more information, see https://git-scm.com/.
-
-
rh-haproxy18 -
The HAProxy 1.8.24 proxy software provides a mechanism that can proxy Transmission Control Protocol (TCP) requests and perform a variety of related functions, such as content-based switching, server load balancing, TCP traffic regulation and monitoring, and HTTP compression.
For more information, see https://cbonte.github.io/haproxy-dconv/.
-
rh-java-common -
The
rh-java-commonsoftware collection provides common Java libraries and tools that are used by other software collections. It is usually installed as a dependency for these collections.In this release, the
rh-java-commoncollection has been updated and extended to comply with the changes that are in the dependent components. -
rh-maven33 -
Apache Maven 3.3.9 is a tool that you use to build and manage Java projects. The software provides a single interface to a uniform build system that eases Java development and aids comprehension of any Java-based project.
Note that this version of the
rh-maven33software collection also includes several bug fixes.For more information, see https://maven.apache.org/docs/3.3.9/release-notes.html.
-
rh-maven35 -
Apache Maven 3.5.0 is a tool that you use to build and manage Java projects. The software provides a single interface to a uniform build system that eases Java development and aids comprehension of any Java-based project.
This version of the
rh-maven35software collection includes several bug fixes and enhancements, including console color output and several other improvements.For more information, see https://maven.apache.org/docs/3.5.0/release-notes.html.
-
rh-maven36 -
Apache Maven 3.6.1 is a tool that is used to build and manage Java projects. The software provides a single interface to a uniform build system that eases Java development and assists with comprehension of any Java-based project.
This version of the
rh-maven36software collection also includes several bug fixes and performance enhancements.For more information, see https://maven.apache.org/docs/3.6.1/release-notes.html.
-
rh-nginx18 -
NGINX 1.8.1 is a combined web and proxy server that is designed to provide enhanced concurrency and performance without placing excessive demands on memory. Newer features include SSL verification enhancements, improved logging options, thread pooling, and hash load balancing.
For more information, see https://nginx.org/.
-
rh-nginx110 -
NGINX 1.10.2 provides a number of features, including dynamic module support, HTTP/2 support, and numerous performance improvements.
Note that the
rh-nginx110collection does not support integration with Phusion Passenger. If you require NGINX with Passenger support, continue usingrh-nginx18, which provides NGINX version 1.8.The
rh-nginx110software collection has optional support for Perl, in conjunction with therh-perl524software collection. To configure Perl handlers and call Perl functions from SSI scripts, install therh-nginx110-nginx-mod-http-perlpackage.For more information, see https://nginx.org/.
-
rh-nginx112 -
NGINX 1.12.1 provides a number of features, including IP Transparency, TCP/UDP load balancing, enhanced caching and support for multiple SSL certificates of different types. Many other enhancements and features are available in this release. Refer to the upstream documentation for more information.
Note that the
rh-nginx110collection does not support integration with Phusion Passenger. If you require NGINX with Passenger support, continue usingrh-nginx18, which provides NGINX version 1.8.The
rh-nginx110software collection includes optional support for Perl, in conjunction with therh-perl524software collection. To configure Perl handlers and call Perl functions from SSI scripts, install therh-nginx110-nginx-mod-http-perlpackage.For more information, see https://nginx.org/.
-
rh-nginx114 -
NGINX 1.14.1 provides a number of features, including a mirror module, a gRPC proxy module, HTTP/2 server push functionality, and improvements to vim syntax-highlighting scripts.
For more information, see https://nginx.org/.
-
rh-nginx116 -
NGINX 1.16.1 provides a number of new features, including improved TLS certificate handling, an additional load-balancing algorithm, and improvements to UDP proxying.
For more information, see https://nginx.org/.
-
rh-nginx118 -
NGINX 1.18.0 is a web and proxy server that focuses on high concurrency, performance, and low memory usage. This version includes improvements to the HTTP request rate and connection limiting, as well as a new
auth_delaydirective. Support for new variables has also been added to multiple directives.For more information, see https://nginx.org/.
-
rh-nginx120 -
NGINX 1.20.1 is a web and proxy server that focuses on high concurrency, performance, and low memory usage. This version provides a number of new features, such as SSL certificate validation with Online Certificate Status Protocol (OCSP), and additional configuration settings for HTTP/2 and cache management.
For more information, see https://nginx.org/.
-
rh-nodejs4 -
Node.js 4.6.2 is a JavaScript programming platform that includes
npmto share and reuse code. This software collection requires the V8 JavaScript engine that is implemented byv8314.For more information, see https://nodejs.org/en/.
-
rh-nodejs6 -
Node.js 6.11.3 is a JavaScript programming platform that includes
npm 3.10.9. This version also includes various bug fixes.For more information, see https://nodejs.org/en/.
-
rh-nodejs8 -
Node.js 8.11.4 is a JavaScript programming platform that includes
npmto share and reuse code. This release introduces theasync_hooksmodule and experimental support for N-API and full support for HTTP/2.This software collection uses the V8 JavaScript engine version 6.0, which is included in this collection. This release removes the dependency on
v8314, which was required in previous Node.js collections.For more information, see https://nodejs.org/en/.
-
rh-nodejs10 -
Node.js 10.21.0 is a JavaScript programming platform that includes
npmto share and reuse code. Full support for N-API, stability improvements, and security enhancements are included in this release.This software collection uses the V8 JavaScript engine version 6.6, which is included in this collection.
For more information, see https://nodejs.org/en/.
-
rh-nodejs12 -
Node.js 12.22.5 is a JavaScript programming platform that includes
npmto share and reuse code. This release introduces support for ECMAScript 2015 (ES6) modules, improved support for native modules, and some performance improvements.This software collection uses the V8 JavaScript engine version 7.6, which is included in this collection.
For more information, see https://nodejs.org/en/.
-
rh-nodejs14 -
Node.js 14.17.5 is a release of Node.js that includes V8 version 8.3, a new experimental WebAssembly System Interface (WASI), and a new experimental Async Local Storage API.
For more information, see https://nodejs.org/en/.
-
rh-passenger40 -
Phusion Passenger 4.0.50 is a fast and robust and lightweight web application server that is designed to be used in conjunction with applications that are written in Python or Ruby. This software collection is typically used in conjunction with several other software collections, including the various Python, Ruby or Ruby on Rails collections, and a web server like NGINX or the Apache HTTP Server.
For more information, see https://www.phusionpassenger.com/.
-
rh-perl520 -
Perl 5.20.1 includes additional scripts and utilities, as well as the database connectors for MySQL and PostgreSQL. Other included components are the
DateTimemodule and themod_perlApache module that is supported by thehttpd24collection.For more information, see https://www.perl.org/.
-
rh-perl524 -
Perl 5.24.0 includes additional scripts and utilities, as well as the database connectors for MySQL and PostgreSQL. Other included components are the
DateTimemodule and themod_perlApache module that is supported by thehttpd24collection.For more information, see https://www.perl.org/.
-
rh-perl526 -
Perl 5.26.3 includes some security improvements, bug fixes, and enhancements. Enhancements include changes to remove the current directory from the
@INCmodule search path, deprecation of thedostatement, stricter regular expression patterning, and support for Unicode 9.0.The
rh-perl526-perlpackage installs core modules, along with the interpreter, which is provided in therh-perl526-perl-interpreterpackage. Note that this is a change in behavior from previous releases, where core modules were not included in the baseperlpackage.For more information, see https://www.perl.org/.
-
rh-perl530 -
Perl 5.30.1 includes security improvements, bug fixes, and enhancements. Note that certain language features are deprecated or removed in this version of Perl. In addition, the
rh-perl530-perl-CGIpackage is added to therh-perl530Software Collection. Therh-perl530-perl-CGIpackage includes a Perl module that implements the Common Gateway Interface (CGI) to enable you to run scripts that are written in the Perl language.Other notable changes include the following:
-
Removal of the
Math::BigInt::CalcEmu,arybase, andB::Debugmodules and the:lockedand:uniqattributes. -
File descriptors are opened with a
close-on-execflag. -
Subroutine attributes must precede subroutine signatures.
-
pack()function no longer returns malformed UTF-8 format. -
Using the
sysread()andsyswrite()functions on:utf8handles returns fatal error. -
Support for Unicode 12.1.
-
Unicode code points that have a value greater than
IV_MAXare no longer allowed. -
The following are no longer allowed: comma-less variable lists in formats, a bare
<<here-document operator, certain formerly deprecated uses of an unescaped left brace ({) character in regular expression patterns,sortpragma for specifying asortalgorithm, use of the$*and$#variables, and declaring variables by using themy()function in a false condition branch.
The
rh-perl530-perlpackage installs core modules along with the interpreter, which is provided in therh-perl530-perl-interpreterpackage.For more information, see https://www.perl.org/.
-
-
rh-php56 -
PHP 5.6.25, including PEAR 1.9.5, enhanced language features for constant expressions, variadic functions, argument unpacking and interactive debugging. The memcache, mongodb and XDebug extensions are also included.
For more information, see https://www.php.net/.
-
rh-php70 -
PHP 7.0.27, including PEAR 1.10, enhanced language features and performance improvements.
For more information, see https://www.php.net/.
-
rh-php71 -
PHP 7.1.8, including PEAR 1.10.4 and the APCu extension version 5.1.8. This release includes many bug fixes and performance improvements.
For more information, see https://www.php.net/.
-
rh-php72 -
PHP 7.2.24, including PEAR 1.10.5 and the APCu extension version 5.1.12. This version includes many bug fixes and performance improvements, including the following: object-to-array and array-to object casts for numeric keys, a new
objecttypehint, and a change toHashContextfrom a resource to an object.For more information, see https://www.php.net/.
-
rh-php73 -
PHP 7.3.29 includes many notable changes, updates, and performance enhancements over PHP 7.2, including some deprecations and backward incompatibility changes.
Other notable changes include the following:
-
Several new and upgraded extensions.
-
Improvements to multibyte string handling.
-
Improvements to FastCGI Process Manager (FPM) logging.
-
Support for LDAP controls.
For more information about this PHP release, see https://www.php.net/.
See https://www.php.net/manual/en/migration73.php for specific information about migrating from PHP 7.2 to PHP 7.3.
-
-
rh-python34 -
Python 3.4 includes the Python 3.4.2 interpreter, web-programming extension libraries and
mod_wsgifor use withhttpd24, MySQL, and PostgreSQL connectors, as well as thenumpyandscipymodules for scientific applications.For more information, see https://www.python.org/.
-
rh-python35 -
Python 3.5.1 includes the Python 3.5.1 interpreter, web-programming extension libraries and
mod_wsgifor use withhttpd24, MySQL, and PostgreSQL connectors, as well as thenumpyandscipymodules for scientific applications.For more information, see https://www.python.org/.
-
rh-python36 -
Python 3.6.12 includes the Python 3.6.12 interpreter, web-programming extension libraries and
mod_wsgifor use withhttpd24, MySQL, and PostgreSQL connectors, as well as thenumpyandscipymodules for scientific applications. This version includes several syntax features, including formatted string literals and asynchronous generators and comprehensions. Thesecretsmodule is also included in the standard library and dictionaries were reimplemented to use significantly less memory to enhance performance. Note that support for DTrace and SystemTap probes is also provided.For more information, see https://www.python.org/.
-
rh-python38 -
Python 3.8.11 includes the following newer Python modules:
contextvars,dataclasses, andimportlib.resources, as well as new language features, and improved performance. Also included are web-programming extension libraries andmod_wsgifor use withhttpd24, as well as PostgreSQL connectors and thenumpyandscipymodules for scientific applications. For a complete list of the new features and enhancements in this version, see https://docs.python.org/3/whatsnew/3.8.html. -
rh-redis32 -
Redis 3.2.4 is an open source, in-memory data structure store that is commonly used as a database and cache, as well as a message broker.
For more information, see https://redis.io.
-
rh-redis5 -
Redis 5.0, a persistent key-value database. Redis also now provides
redis-trib, which is a cluster management tool.For more information, see https://redis.io.
-
rh-redis6 -
Redis 6.0.16 is a recent version of a persistent key-value database. This version is compatible with REdis Serialization Protocol version 3 (RESP3), and provides server-side functionality such as access control lists, SSL-encrypted communication and threaded operations.
For more information, see https://redis.io.
-
rh-ror41 -
Ruby on Rails 4.1.5 is a version of the web application framework that is written in the Ruby language.
This release includes the following features:
-
Spring application pre-loader.
-
Action Pack.
-
Action Mailer.
-
Security fixes for earlier versions of the software.
For more information, see https://rubyonrails.org/.
-
-
rh-ror42 -
Ruby on Rails 4.2.6 is a recent version of the web application framework that is written in the Ruby language. This version includes the following features: Active Job, improvements such as support for asynchronous mails, performance enhancements such as the Adequate Record feature, and a default Web Console that is included with each new application.
For more information, see https://rubyonrails.org/.
-
rh-ror50 -
Ruby on Rails 5.0.1 provides a number of bug fixes and the following features:
-
Action Cable framework for handling WebSockets in Rails.
-
API mode to assist in creating a Rails application for an API server more easily.
-
Exclusive use of the
railsCLI over Rake. -
Addition of
ActionRecordattributes.Note that you can now override
ActiveRecordattributes, if needed.
For further details, see the upstream release notes.
The
rh-ror50software collection is supported with therh-ruby24andrh-nodejs6collections.For more information, see https://rubyonrails.org/.
-
-
rh-ruby22 -
Ruby 2.2.9 is a stable release of Ruby 2.2. This release is backward compatible with Ruby 2.0.0, and Ruby 1.9.3 at a source level.
For more information, see https://www.ruby-lang.org/.
-
rh-ruby23 -
Ruby 2.3.8 is a stable release of Ruby 2.3 and includes many features, including the following: a frozen string literal pragma, a safe navigation or lonely operator, improved debugging, and many performance enhancements. This release is backward compatible with Ruby 2.2.2, Ruby 2.0.0, and Ruby 1.9.3 at a source level.
For more information, see https://www.ruby-lang.org/.
-
rh-ruby24 -
Ruby 2.4.6 includes the following performance features:
-
Improved hash table performance.
-
New
binding#irbmethod starts a read–eval–print loop (REPL) session, which provides for easier debugging and introspection of variables during runtime. -
Improved debugging of threads and better deadlock detection.
-
Fixnum and Bignum classes are integrated into the Integer class.
-
Support for Unicode case mappings.
-
Support for the OpenSSL 1.1.0 library.
Ruby 2.4 is backward compatible with Ruby 2.3.1, Ruby 2.2.2, Ruby 2.0.0, and Ruby 1.9.3. The
rh-ruby23andrh-ruby22software collections continue to supported.For more information, see https://www.ruby-lang.org/.
-
-
rh-ruby25 -
Ruby 2.5.9 introduces the following performance improvements:
-
Simplified block usage with the
rescue,else, andensurekeywords. -
New
yield_selfmethod. -
Support for branch and method coverage measurement.
-
New
Hash#sliceandHash#transform_keysmethods.
Ruby 2.5 is backward compatible with Ruby 2.4, Ruby 2.3.1, Ruby 2.2.2, Ruby 2.0.0, and Ruby 1.9.3. The
rh-ruby23andrh-ruby22software collections continue to be supported.For more information, see https://www.ruby-lang.org/.
-
-
rh-ruby26 -
Ruby 2.6.7 includes several performance improvements.
Ruby 2.6 is backward compatible with Ruby 2.5, Ruby 2.4, Ruby 2.3.1, Ruby 2.2.2, Ruby 2.0.0, and Ruby 1.9.3. The
rh-ruby23andrh-ruby22software collections are also still supported.For more information, see https://www.ruby-lang.org/.
-
rh-ruby27 -
Ruby 2.7.4 includes multiple performance improvements and new features, such as Compaction GC and the command-line interface (CLI) for the LALR(1) parser generator, as well as an enhancement to REPL. Ruby 2.7 maintains source-level backward compatibility with Ruby 2.6.
For more information, see https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/ and https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-7-1-released/.
-
rh-ruby30 -
Ruby 3.0.2 provides multiple performance improvements and new features, such as Ractor, Fiber Scheduler, and the RBS (Ruby Type Signature) annotation language. Ruby 3.0 maintains source-level backward compatibility with Ruby 2.7.
-
rh-scala210 -
The Scala 2.10.6 software collection is a general-purpose programming language that is designed to express common programming patterns in a concise and type-safe manner. Scala 2.10.6 integrates both object-oriented and functional languages features and is fully interoperable with Java.
For more information, see https://docs.scala-lang.org/.
-
rh-varnish4 -
Varnish Cache 4.0.3 is an efficient reverse proxy for HTTP. Files and content are cached in memory to reduce response time and network bandwidth consumption. The Varnish Cache feature can improve web application performance significantly.
For more information, see https://varnish-cache.org/.
-
rh-varnish5 -
Varnish Cache 5.2.1 is an efficient reverse proxy for HTTP. This release provides bug fixes and enhancements over the previous version, including experimental HTTP/2 support, the
sharddirector, and improvements to configuration through Varnish Configuration Language files and labels.For more information, see https://varnish-cache.org/.
-
rh-varnish6 -
Varnish Cache 6.0.8 is a high-performance HTTP reverse proxy. This version includes support for Unix Domain Sockets (both for clients and for back-end servers), a new level of the VCL language (vcl 4.1), and improved HTTP/2 support.
For more information, see https://varnish-cache.org/docs/6.0/index.html.
-
ror40 -
Ruby on Rails 4.0.2 provides includes support for live-streaming over persistent connections; the feature can be used with
ruby200. Note that this software collection requires the V8 JavaScript engine that is implemented byv8314.For more information, see https://rubyonrails.org/.
-
ruby193 -
Ruby 1.9.3 includes Ruby on Rails 3.2.8 and includes enhanced Unicode support, improved threading, quicker loading, as well as the
mod_passengermodule, for use withhttpd24, and a large collection of Ruby gems.For more information, see https://www.ruby-lang.org/.
-
ruby200 -
Ruby 2.0.0 provides improved performance and reliability, as well as additional features and enhanced debugging. This version retains backward compatibility with Ruby 1.9.3 at the source level.
For more information, see https://www.ruby-lang.org/.
-
source-to-image -
The source-to-image software collection provides a tool for building artifacts from source and injecting them into docker images. This collection is only available for Oracle Linux 7. Note that the collection depends on docker, which is available in the
ol7_addonschannel.For more information, see https://github.com/openshift/source-to-image/blob/master/README.md.
-
v8314 -
The v8314 software collection, which provides a V8 JavaScript engine, is supported as a dependency of other software collections only.
For more information, see https://v8.dev/.
Installing the Software Collection Library Utility From ULN
The scl-utils package, which provides the
Software Collection Library scl utility, is
available in the Oracle Linux 7 latest channel.
The software collection packages are available in the Oracle Linux 7
SoftwareCollections channel.
To use a software collection on an Oracle Linux 7 system, you must first install the scl utility on that system.
To install scl on a system:
-
Log in to the ULN at linux.oracle.com and then subscribe the system to the following
latestandSoftwareCollectionschannels:-
ol7_x86_64_latest, -
ol7_x86_64_optional_latest -
ol7_x86_64_SoftwareCollections
-
-
Install the
scl-utilspackage.sudo yum install scl-utilsYou can now install and use software collection packages on the system. See Installing a Software Collection From the Oracle Linux Yum Server and Using the Software Collection Version of a Command.
Note:
Alternatively, you can obtain the scl-utils
and software collection packages from the Oracle Linux yum server. See
Installing the Software Collection Library Utility From the Oracle Linux Yum Server.
Installing the Software Collection Library Utility From the Oracle Linux Yum Server
The scl-utils package, which provides the
Software Collection Library scl utility is
available in the Oracle Linux 7 latest repository on
the Oracle Linux yum server.
The software collection packages are available in the following Oracle Linux 7 repository: https://yum.oracle.com/repo/OracleLinux/OL7/SoftwareCollections/x86_64/.
To use a software collection on an Oracle Linux 7 system, you must first install the scl utility on that system.
To install scl on a system:
-
Enable the
software_collectionsrepository:sudo yum-config-manager --enable ol7_software_collections -
Ensure that the
ol7_latestandol7_optional_latestrepositories are also enabled:sudo yum-config-manager --enable ol7_latest ol7_optional_latest -
Install the
scl-utilspackage.sudo yum install scl-utilsYou can now install and use software collection packages on the system. See Installing a Software Collection From the Oracle Linux Yum Server and Using the Software Collection Version of a Command.
Installing a Software Collection From the Oracle Linux Yum Server
After you set up the system to access the
software_collections repository on the Oracle Linux yum server
or the SoftwareCollections channel on ULN,
you can use the yum command to install a
software collection on the system as follows:
sudo yum install sw_colReplace sw_col with the name of the software collection that you want to install.
A software collection can have a number of optional packages that you can also choose to install if required. To list these packages, use the following command:
sudo yum list available sw_col-\*To list the installed software collections, use the scl --list command.
To list the packages that a software collection contains, use the scl --list sw_col command.
To display a list of all of the available packages within the Software Collection Library, restrict your yum query as follows:
sudo yum --disablerepo="*" --enablerepo="*_SoftwareCollections" list availableUpdating or Removing a Software Collection
You can update or remove a software collection in the same way as you would update or remove any ordinary package, for example:
sudo yum update sw_col
sudo yum remove sw_colUsing the Software Collection Version of a Command
To enable and use the version of a command that a software collection contains, use the scl utility with the enable action:
sudo scl enable sw_col -- command argsBy default, the specified command from the software collection runs in a bash environment. If required, you can specify a different shell environment.
If you want to enable several software collections so that you can run several utilities together, specify bash to provide the environment from which you can access the utilities, for example:
sudo scl enable sw_col1 sw_col2 -- bashNote:
The X_SCLS environment variable contains a
list of the currently enabled software collections in the
shell.
You can specify the commands that you want to run in a software collection environment and pipe these to the scl command:
cat cmd_file | scl enable sw_col -You could also create an executable wrapper script to run an scl command, for example:
#!/bin/bash
scl enable php55 -- php $@
Starting with version 3.0, the scl utility
can be called directly from the shebang (#!)
line of a script, with the enable action
provided. This feature change enables you to call an interpreter
from within a collection directly from your scripts, for
example:
#!/usr/bin/scl enable rh-python36 -- python
import platform
import sys
import os
print(os.system('python -V'))
print(platform.python_version())
print(sys.version)
For more information, see the scl(1) manual
page.
Using Services That Are Provided by Software Collections
Some of the software collections install service scripts in
/etc/rc.d/init.d that include the software
collection name in the name of the service script, for example
httpd24-httpd. You can control a software
collection service by running the systemctl
command.
Accessing Software Collection-Specific Manual Pages
A software collection is packaged with a manual page that describes its content. Use the following command to display the manual page for a software collection:
sudo scl enable sw_col -- man sw_colKnown Software Collection Issues
The following are known issues in this release.
Package Dependency Issues When Upgrading From an Earlier Software Collection Version
In the case where a certain Software Collection version is already installed on Oracle Linux 7, and the system is upgraded to a later Software Collection version, some dependency issues may result if the following packages are installed:
-
devtoolset-3-liblsan-devel -
devtoolset-3-libtsan-devel
Typically, the error appears as follows:
--> Finished Dependency Resolution
Error: Package: devtoolset-3-liblsan-devel-4.9.1-10.el7.x86_64 (@ol7_x86_64_SoftwareCollections)
Requires: liblsan = 4.9.1-10.el7
Removing: liblsan-4.9.1-10.el7.x86_64 (@ol7_x86_64_SoftwareCollections12)
liblsan = 4.9.1-10.el7
Updated By: liblsan-6.2.1-3.1.el7.x86_64 (SCL23)
liblsan = 6.2.1-3.1.el7
Available: liblsan-5.2.1-2.2.el7.x86_64 (ol7_x86_64_SoftwareCollections)
liblsan = 5.2.1-2.2.el7
Available: liblsan-5.3.1-6.1.el7.x86_64 (ol7_x86_64_SoftwareCollections)
liblsan = 5.3.1-6.1.el7
Error: Package: devtoolset-3-libtsan-devel-4.9.1-10.el7.x86_64 (@ol7_x86_64_SoftwareCollections)
Requires: libtsan = 4.9.1-10.el7
Removing: libtsan-4.9.1-10.el7.x86_64 (@ol7_x86_64_SoftwareCollections12)
libtsan = 4.9.1-10.el7
Updated By: libtsan-6.2.1-3.1.el7.x86_64 (SCL23)
libtsan = 6.2.1-3.1.el7
Available: libtsan-4.8.2-16.el7.x86_64 (ol7_x86_64_optional_latest)
libtsan = 4.8.2-16.el7
Available: libtsan-4.8.2-16.2.el7_0.x86_64 (ol7_x86_64_optional_latest)
libtsan = 4.8.2-16.2.el7_0
Available: libtsan-4.8.3-9.el7.x86_64 (ol7_x86_64_optional_latest)
libtsan = 4.8.3-9.el7
libtsan = 4.8.2-16.el7
Available: libtsan-4.8.5-4.el7.x86_64 (ol7_x86_64_optional_latest)
libtsan = 4.8.5-4.el7
libtsan = 4.8.2-16.el7
Available: libtsan-4.8.5-11.el7.x86_64 (ol7_x86_64_optional_latest)
libtsan = 4.8.5-11.el7
libtsan = 4.8.2-16.el7
Available: libtsan-5.2.1-2.2.el7.x86_64 (ol7_x86_64_SoftwareCollections)
libtsan = 5.2.1-2.2.el7
Available: libtsan-5.3.1-6.1.el7.x86_64 (ol7_x86_64_SoftwareCollections)
libtsan = 5.3.1-6.1.el7
The workaround is to uninstall and remove the listed rpm
packages before running theyum update or
yum install command. You should also
exclude these packages from a yum update or
yum install, by editing the
/etc/yum.conf file and updating the
exclude option. Or, you can use the
--exclude flag when running the
yum command.
(Bug ID 24376931)
libasan-static Package Dependency
When installing the
devtoolset-3-libasan-devel-4.9.1-10.el7
package, which requires the
libasan-4.9.1-10.el7 package, there is a
potential dependency issue if the
libasan-static-4.8.3-9.el7 package is
already present on the system. An error such as the following
is reported:
--> Finished Dependency Resolution
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for libasan which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of libasan of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude libasan.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of libasan installed, but
yum can only see an upgrade for one of those architectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.
3. You have duplicate versions of libasan installed already.
You can use "yum check" to get yum show these errors.
...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).
Protected multilib versions: libasan-4.9.1-10.el7.x86_64 != libasan-4.8.5-11.el7.i686
The workaround is to remove the
libasan-static package before installing
the devtoolset-3-libasan-devel package.
(Bug ID 21896256)
Software Collection and Package Version Conflicts
You cannot install multiple versions of software collections on a system due to package conflicts within matching software collections. The following software collections are known to conflict:
-
rh-nginx18,rh-nginx110andnginx16 -
rh-nodejs4,rh-nodejs6andnodejs010 -
python27,python33,rh-python34andrh-python35 -
rh-ror42,rh-ror50andror40 -
ruby193,ruby200,rh-ruby22,rh-ruby23andrh-ruby24
In most cases, the conflict may result from particular package
conflicts within each software collection. Typically, the
conflict occurs because it is only possible to install one set
of macro files for the packages, which means that the
scldevel packages for each collection tend
to conflict. For instance, the
rh-php56-scldevel and
php54-scldevel packages within the
php54 and rh-php56
software collections are known to conflict. Note that this
behavior is expected. As such, do not attempt to install
multiple versions of a software collections package on the
same system.
In some cases, other conflicts may occur. For instance, the
devtoolset-3-tycho and
devtoolset-4-tycho packages conflict. This
conflict occurs due to binary mismatches within the packages.
As previously stated, do not attempt to install multiple
versions of a software collections package on the same system.
(Bug IDs 20090086, 23311408, 24286085, 24376992, 25115835, 25164232, 25424807, 25562645, 25562669, 25562714, 25562760, 26540817)
rh-php56-build Dependency Issue When Upgrading Software Collection Version
A package dependency conflict results when attempting to
upgrade the rh-php56 collection from an
earlier Software Collection version to later Software
Collection version. Typically, the following output is
displayed during the upgrade:
--> Finished Dependency Resolution
Error: Package: rh-php56-build-2.0-6.el7.x86_64
(@ol7_x86_64_SoftwareCollections)
Requires: rh-php56-runtime(x86-64) = 2.0-6.el7
Removing: rh-php56-runtime-2.0-6.el7.x86_64
(@ol7_x86_64_SoftwareCollections)
rh-php56-runtime(x86-64) = 2.0-6.el7
Updated By: rh-php56-runtime-2.3-1.el7.x86_64
(ol7_x86_64_SoftwareCollections)
rh-php56-runtime(x86-64) = 2.3-1.el7
The workaround for this issue is to uninstall and remove the
rh-php56-build-2.0-6.el7.x86_64 rpm package
before running the yum update or
yum install command, for example:
sudo yum remove rh-php56-build-2.0-6
You should also exclude these packages from the yum
update or yum install command by
editing the /etc/yum.conf file and updating
the exclude option. Or, you can use the
--exclude flag when running the
yum command.
(Bug ID 25424699)
source-to-image Dependency on Docker
The source-to-image package has a
dependency on docker, but it is not in the
ol7_latest channel. If the system where
source-to-image is to be installed is not
subscribed to the ol7_addons channel, the
installation fails due to a missing dependency.
Note that the system must be subscribed to the
ol7_addons channel to install
source-to-image.
rh-ror41 Dependency on v8314
The rh-ror41 collection has a dependency on
the v8314 collection. The
therubyracer gem, which compresses and
provides a runtime for Javascript, uses the V8 Javascript
engine that is made available in the v8314
software collection.
To enable this collection and make it available to
rh-ror41, run the command:
sudo scl enable v8314(Bug ID 25683450)