diff --git a/cm-mlops/script/get-gcc/_cm.json b/cm-mlops/script/get-gcc/_cm.json index c0a393c49f..92dd1baaee 100644 --- a/cm-mlops/script/get-gcc/_cm.json +++ b/cm-mlops/script/get-gcc/_cm.json @@ -19,6 +19,11 @@ "+CM_HOST_OS_DEFAULT_INCLUDE_PATH", "+PATH" ], + "deps": [ + { + "tags": "detect,os" + } + ], "post_deps": [ { "tags": "get,compiler-flags" diff --git a/cm-mlops/script/get-gcc/customize.py b/cm-mlops/script/get-gcc/customize.py index 3928176a87..b29f38e13b 100644 --- a/cm-mlops/script/get-gcc/customize.py +++ b/cm-mlops/script/get-gcc/customize.py @@ -8,8 +8,15 @@ def preprocess(i): env = i['env'] recursion_spaces = i['recursion_spaces'] - file_name_c = 'gcc.exe' if os_info['platform'] == 'windows' else 'gcc' + + if env.get('CM_HOST_OS_FLAVOR', '') == 'rhel': + if "12" in env.get('CM_VERSION', '') or "12" in env.get('CM_VERSION_MIN', ''): + if env.get('CM_TMP_PATH', '') == '': + env['CM_TMP_PATH'] = '' + env['CM_TMP_PATH'] += "/opt/rh/gcc-toolset-12/root/usr/bin" + env['CM_TMP_PATH_IGNORE_NON_EXISTANT'] = 'yes' + if 'CM_GCC_BIN_WITH_PATH' not in env: r = i['automation'].find_artifact({'file_name': file_name_c, 'env': env, diff --git a/cm-mlops/script/get-generic-sys-util/_cm.json b/cm-mlops/script/get-generic-sys-util/_cm.json index cc2eaa7376..9956a29613 100644 --- a/cm-mlops/script/get-generic-sys-util/_cm.json +++ b/cm-mlops/script/get-generic-sys-util/_cm.json @@ -14,6 +14,7 @@ "CM_SUDO": "sudo" }, "new_env_keys": [ + "+PATH" ], "tags": [ "get", @@ -296,7 +297,8 @@ }, "state": { "g++12": { - "apt": "g++-12" + "apt": "g++-12", + "dnf": "gcc-toolset-12-gcc-c++" } } } diff --git a/cm-mlops/script/get-generic-sys-util/customize.py b/cm-mlops/script/get-generic-sys-util/customize.py index 5d402a11c7..36e5efbb9d 100644 --- a/cm-mlops/script/get-generic-sys-util/customize.py +++ b/cm-mlops/script/get-generic-sys-util/customize.py @@ -42,4 +42,7 @@ def preprocess(i): env['CM_SYS_UTIL_INSTALL_CMD'] = sudo + ' ' +install_cmd + ' ' + package_name + if env.get('CM_HOST_OS_FLAVOR', '') == 'rhel': + if env['CM_SYS_UTIL_NAME'] == "g++12": + env['+PATH'] = "/opt/rh/gcc-toolset-12/root/usr/bin" return {'return':0} diff --git a/cm-mlops/script/install-llvm-src/_cm.json b/cm-mlops/script/install-llvm-src/_cm.json index d55eccff47..0a38e78691 100644 --- a/cm-mlops/script/install-llvm-src/_cm.json +++ b/cm-mlops/script/install-llvm-src/_cm.json @@ -207,7 +207,7 @@ }, { "tags": "get,gcc", - "version_min": "12.3" + "version_min": "12.1" }, { "tags": "get,conda,_name.gptj-pt",