GitHub
github.com › sclorg › scl-utils
GitHub - sclorg/scl-utils: Tool to setup and run software from Software Collection environment · GitHub
Tool to setup and run software from Software Collection environment - sclorg/scl-utils
Starred by 15 users
Forked by 23 users
Languages C 79.8% | Shell 15.2% | CMake 5.0%
UW PCE
uwpce-pythoncert.github.io › PythonCertDevel › supplemental › installing › python_for_linux.html
Setting Up Linux for Python — PythonCert 5.0 documentation
$ sudo yum -y install scl-utils · Then go to the software collections listing and click on the Python collection version you want to install. Probably this one: https://www.softwarecollections.org/en/scls/rhscl/rh-python35/ Note, you also need to know which version of CentOS you are using ...
GitHub
github.com › sclorg › scl-utils › blob › master › src › scllib.h
scl-utils/src/scllib.h at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › tree › master › shell
scl-utils/shell at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/shell at master · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › blob › master › shell › scl-init.csh
scl-utils/shell/scl-init.csh at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/shell/scl-init.csh at master · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › pulls
Pull requests · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - Pull requests · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › blob › master › shell › scl_enabled
scl-utils/shell/scl_enabled at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/shell/scl_enabled at master · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › blob › master › src › scl.c
scl-utils/src/scl.c at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/src/scl.c at master · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › blob › master › doc › scl.1
scl-utils/doc/scl.1 at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/doc/scl.1 at master · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › blob › master › shell › scl-completion.bash
scl-utils/shell/scl-completion.bash at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/shell/scl-completion.bash at master · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › blob › master › LICENSE
scl-utils/LICENSE at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/LICENSE at master · sclorg/scl-utils
Author sclorg
GitHub
github.com › sclorg › scl-utils › blob › master › CMakeLists.txt
scl-utils/CMakeLists.txt at master · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - scl-utils/CMakeLists.txt at master · sclorg/scl-utils
Author sclorg
Soton
linuxdesktops.soton.ac.uk › softwarecollections.html
Software collections (SCL) — Linux Desktops RHEL7 documentation
Unlike the environment modules system the binaries of the programs do not have a PREFIX set so they can locate shared libraries (shared/dynamic objects) without setting the LD_LIBRARY_PATH variable. This is set automatically by the scl enable command.
GitHub
github.com › sclorg › scl-utils › issues
Issues · sclorg/scl-utils
Tool to setup and run software from Software Collection environment - sclorg/scl-utils
Author sclorg
Top answer 1 of 5
93
In your ~/.bashrc or ~/.bash_profile Simply source the "enable" script provided with the devtoolset. For example, with the Devtoolset 2, the command is:
source /opt/rh/devtoolset-2/enable
or
source scl_source enable devtoolset-2
Lot more efficient: no forkbomb, no tricky shell
2 of 5
17
An alternative of source /opt/rh/devtoolset-4/enable is
source scl_source enable devtoolset-4
The above shell script scl_source is more elegant than using a hard coded path (may be different on another machine). However scl_source does less because /opt/rh/devtoolset-4/enable uses scl_source and other stuff.
To use scl_source you may have to upgrade package scl-utils
yum update scl-utils # old scl-utils versions miss scl_source
Quick copy-paste
echo 'source scl_source enable devtoolset-4' >> ~/.bashrc
# Do not forget to change the version ↑
Source code for curious people
An example of scl_source source code:
https://gist.github.com/bkabrda/6435016
The scl_source installed on my Red Hat 7.1
#!/bin/bash
_scl_source_help="Usage: source scl_source <action> [<collection> ...]
Don't use this script outside of SCL scriptlets!
Options:
-h, --help display this help and exit"
if [ $# -eq 0 -o $1 = "-h" -o $1 = "--help" ]; then
echo "$_scl_source_help"
return 0
fi
if [ -z "$_recursion" ]; then
_recursion="false"
fi
if [ -z "$_scl_scriptlet_name" ]; then
# The only allowed action in the case of recursion is the same
# as was the original
_scl_scriptlet_name=$1
fi
shift 1
if [ -z "$_scl_dir" ]; then
# No need to re-define the directory twice
_scl_dir=/etc/scl/conf
if [ ! -e $_scl_dir ]; then
_scl_dir=/etc/scl/prefixes
fi
fi
for arg in "$@"; do
_scl_prefix_file=$_scl_dir/$arg
_scl_prefix=`cat $_scl_prefix_file 2> /dev/null`
if [ $? -ne 0 ]; then
echo "Can't read $_scl_prefix_file, $arg is probably not installed."
return 1
fi
# First check if the collection is already in the list
# of collections to be enabled
for scl in ${_scls[@]}; do
if [ $arg == $scl ]; then
continue 2
fi
done
# Now check if the collection isn't already enabled
/usr/bin/scl_enabled $arg > /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
_scls+=($arg)
_scl_prefixes+=($_scl_prefix)
fi;
done
if [ $_recursion == "false" ]; then
_i=0
_recursion="true"
while [ $_i -lt ${#_scls[@]} ]; do
_scl_scriptlet_path="${_scl_prefixes[$_i]}/${_scls[$_i]}/${_scl_scriptlet_name}"
source "$_scl_scriptlet_path"
if [ $? -ne 0 ]; then
echo "Can't source $_scl_scriptlet_name, skipping."
else
export X_SCLS="${_scls[$_i]} $X_SCLS"
fi;
_i=$(($_i+1))
done
_scls=()
_scl_prefixes=()
_scl_scriptlet_name=""
_recursion="false"
fi
Red Hat
docs.redhat.com › en › documentation › red_hat_software_collections › 3 › html › packaging_guide › sect-enabling_support_for_software_collections
1.3. Enabling Support for Software Collections | Packaging Guide | Red Hat Software Collections | 3 | Red Hat Documentation
To enable support for Software Collections on your system so that you can enable and build Software Collections, you need to have installed the packages scl-utils and scl-utils-build.
Red Hat
docs.redhat.com › en › documentation › red_hat_enterprise_linux › 6 › html › 6.5_technical_notes › scl-utils
8.195. scl-utils | 6.5 Technical Notes | Red Hat Enterprise Linux | 6 | Red Hat Documentation
The scl-utils packages provide a runtime utility and RPM packaging macros for packaging Software Collections. Software Collections allow users to concurrently install multiple versions of the same RPM packages on the system.