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-dockerfiles
package. -
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-eclipse46
collection separately.The following upgraded components are included in the Developer Toolset version 6.1:
-
GCC updated to version 6.3.1.
-
elfutils
updated 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:
-
GCC
updated to version 7.3.1. -
binutils
updated to version 2.28. -
elfutils
updated to version 0.170. -
make
updated to version 4.2.1. -
GDB
updated to version 8.0.1. -
strace
updated to version 4.17. -
SystemTap
updated to version 3.1. -
Valgrind
updated to version 3.13.0. -
OProfile
updated to version 1.2.0. -
Dyninst
updated 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:
-
GCC
updated to version 8.2.1. -
GDB
updated to version 8.2. -
binutils
updated to version 2.30. -
elfutils
updated to version 0.176. -
strace
updated to version 4.24. -
SystemTap
updated to version 3.3. -
Valgrind
updated to version 3.14.0. -
OProfile
updated 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:
-
GCC
updated to version 9.3.1. -
GDB
updated to version 8.3. -
make
updated to version 4.2.1. -
binutils
updated to version 2.32. -
strace
updated to version 5.1. -
ltrace
updated to version 0.7.91. -
SystemTap
updated to version 4.1. -
Valgrind
updated to version 3.15.0. -
Dyninst
updated 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:
-
Dyninst
updated to version 10.2.1. -
elfutils
updated to version 0.182. -
SystemTap
updated 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:
-
GCC
updated to version 11.2.1. -
binutils
updated to version 2.36.1. -
elfutils
updated to version 0.185. -
dwz
updated to version 0.14. -
GDB
updated to version 10.2. -
strace
updated to version 5.13. -
SystemTap
updated to version 4.5. -
Valgrind
updated to version 3.17.0. -
Dyninst
updated to version 11.0.0. -
make
updated to version 4.3. -
annobin
updated 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_kerb
module.The
httpd24
software 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
npm
to 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_perl
andperl-DateTime
modules 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_wsgi
for use withhttpd24
, PostgreSQL connectors, and thenumpy
andscipy
modules for scientific applications.In this release, the
python27-python-pymongo
package 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_wsgi
for use withhttpd24
, MySQL, and PostgreSQL connectors. Also included are thenumpy
andscipy
modules for scientific applications.For more information, see https://www.python.org/.
-
rh-eclipse46
-
The
rh-eclipse46
software 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-common
collection.In this release, the
rh-eclipse46
collection 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
m2e
plugin provides support for developing maven-based projects. -
The
TestNG
plugin provides support for writing and executing tests by using theTestNG
framework.
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-git29
software 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-common
software 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-common
collection 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-maven33
software 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-maven35
software 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-maven36
software 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-nginx110
collection 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-nginx110
software collection has optional support for Perl, in conjunction with therh-perl524
software collection. To configure Perl handlers and call Perl functions from SSI scripts, install therh-nginx110-nginx-mod-http-perl
package.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-nginx110
collection 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-nginx110
software collection includes optional support for Perl, in conjunction with therh-perl524
software collection. To configure Perl handlers and call Perl functions from SSI scripts, install therh-nginx110-nginx-mod-http-perl
package.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_delay
directive. 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
npm
to 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
npm
to share and reuse code. This release introduces theasync_hooks
module 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
npm
to 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
npm
to 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
DateTime
module and themod_perl
Apache module that is supported by thehttpd24
collection.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
DateTime
module and themod_perl
Apache module that is supported by thehttpd24
collection.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
@INC
module search path, deprecation of thedo
statement, stricter regular expression patterning, and support for Unicode 9.0.The
rh-perl526-perl
package installs core modules, along with the interpreter, which is provided in therh-perl526-perl-interpreter
package. Note that this is a change in behavior from previous releases, where core modules were not included in the baseperl
package.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-CGI
package is added to therh-perl530
Software Collection. Therh-perl530-perl-CGI
package 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::Debug
modules and the:locked
and:uniq
attributes. -
File descriptors are opened with a
close-on-exec
flag. -
Subroutine attributes must precede subroutine signatures.
-
pack()
function no longer returns malformed UTF-8 format. -
Using the
sysread()
andsyswrite()
functions on:utf8
handles returns fatal error. -
Support for Unicode 12.1.
-
Unicode code points that have a value greater than
IV_MAX
are 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,sort
pragma for specifying asort
algorithm, use of the$*
and$#
variables, and declaring variables by using themy()
function in a false condition branch.
The
rh-perl530-perl
package installs core modules along with the interpreter, which is provided in therh-perl530-perl-interpreter
package.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
object
typehint, and a change toHashContext
from 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_wsgi
for use withhttpd24
, MySQL, and PostgreSQL connectors, as well as thenumpy
andscipy
modules 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_wsgi
for use withhttpd24
, MySQL, and PostgreSQL connectors, as well as thenumpy
andscipy
modules 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_wsgi
for use withhttpd24
, MySQL, and PostgreSQL connectors, as well as thenumpy
andscipy
modules for scientific applications. This version includes several syntax features, including formatted string literals and asynchronous generators and comprehensions. Thesecrets
module 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_wsgi
for use withhttpd24
, as well as PostgreSQL connectors and thenumpy
andscipy
modules 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
rails
CLI over Rake. -
Addition of
ActionRecord
attributes.Note that you can now override
ActiveRecord
attributes, if needed.
For further details, see the upstream release notes.
The
rh-ror50
software collection is supported with therh-ruby24
andrh-nodejs6
collections.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#irb
method 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-ruby23
andrh-ruby22
software 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
, andensure
keywords. -
New
yield_self
method. -
Support for branch and method coverage measurement.
-
New
Hash#slice
andHash#transform_keys
methods.
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-ruby23
andrh-ruby22
software 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-ruby23
andrh-ruby22
software 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
shard
director, 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_passenger
module, 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_addons
channel.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
latest
andSoftwareCollections
channels:-
ol7_x86_64_latest
, -
ol7_x86_64_optional_latest
-
ol7_x86_64_SoftwareCollections
-
-
Install the
scl-utils
package.sudo yum install scl-utils
You 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_collections
repository:sudo yum-config-manager --enable ol7_software_collections
-
Ensure that the
ol7_latest
andol7_optional_latest
repositories are also enabled:sudo yum-config-manager --enable ol7_latest ol7_optional_latest
-
Install the
scl-utils
package.sudo yum install scl-utils
You 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_col
Replace 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 available
Updating 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_col
Using 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 args
By 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 -- bash
Note:
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_col
Known 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-nginx110
andnginx16
-
rh-nodejs4
,rh-nodejs6
andnodejs010
-
python27
,python33
,rh-python34
andrh-python35
-
rh-ror42
,rh-ror50
andror40
-
ruby193
,ruby200
,rh-ruby22
,rh-ruby23
andrh-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)