From ad47d9e9feef73e9fed527be7b2027c9dc449e06 Mon Sep 17 00:00:00 2001 From: Danilo Ansaloni Date: Thu, 23 Jul 2026 19:29:14 +0200 Subject: [PATCH] Remove support for building FastR. --- ci/common.jsonnet | 37 -------------------------- vm/ci/ci_common/common-runspec.jsonnet | 1 - vm/ci/ci_common/common.jsonnet | 8 +----- vm/mx.vm/ce-aarch64-complete | 2 +- vm/mx.vm/ce-complete | 2 +- vm/mx.vm/ce-darwin-aarch64-complete | 2 +- vm/mx.vm/ce-fastr | 4 --- vm/mx.vm/ce-fastr-native | 4 --- vm/mx.vm/ce-win-complete | 2 +- vm/mx.vm/mx_vm.py | 14 ---------- vm/mx.vm/mx_vm_gate.py | 1 - vm/mx.vm/suite.py | 8 ------ 12 files changed, 5 insertions(+), 80 deletions(-) delete mode 100644 vm/mx.vm/ce-fastr delete mode 100644 vm/mx.vm/ce-fastr-native diff --git a/ci/common.jsonnet b/ci/common.jsonnet index d87d51ae5dd8..00bee30f0847 100644 --- a/ci/common.jsonnet +++ b/ci/common.jsonnet @@ -338,43 +338,6 @@ local common_json = import "../common.json"; } }, - fastr:: { - # Note: On both Linux and MacOS, FastR depends on the gnur module and on gfortran - # of a specific version (4.8.5 on Linux, 10.2.0 on MacOS) - # However, we do not need to load those modules, we only configure specific environment variables to - # point to these specific modules. These modules and the configuration is only necessary for installation of - # some R packages (that have Fortran code) and in order to run GNU-R - packages+: - if (self.os == "linux" && self.arch == "amd64") then { - readline: '==6.3', - pcre2: '==10.37', - gnur: '==4.0.3-gcc4.8.5-pcre2', - } + if (std.objectHasAll(self, 'os_distro') && self['os_distro'] == 'ol' && std.objectHasAll(self, 'os_distro_version') && self['os_distro_version'] == '9') then {curl: '==7.78.0'} else {curl: '==7.50.1'} - else {}, - environment+: - if (self.os == "linux" && self.arch == "amd64") then { - TZDIR: '/usr/share/zoneinfo', - PKG_INCLUDE_FLAGS_OVERRIDE : '-I/cm/shared/apps/bzip2/1.0.6/include -I/cm/shared/apps/xz/5.2.2/include -I/cm/shared/apps/pcre2/10.37/include -I/cm/shared/apps/curl/7.50.1/include', - PKG_LDFLAGS_OVERRIDE : '-L/cm/shared/apps/bzip2/1.0.6/lib -L/cm/shared/apps/xz/5.2.2/lib -L/cm/shared/apps/pcre2/10.37/lib -L/cm/shared/apps/curl/7.50.1/lib -L/cm/shared/apps/gcc/4.8.5/lib64', - FASTR_FC: '/cm/shared/apps/gcc/4.8.5/bin/gfortran', - FASTR_CC: '/cm/shared/apps/gcc/4.8.5/bin/gcc', - GNUR_HOME_BINARY: '/cm/shared/apps/gnur/4.0.3_gcc4.8.5_pcre2-10.37/R-4.0.3', - FASTR_RELEASE: 'true', - } - else {}, - downloads+: - if (self.os == "linux" && self.arch == "amd64") then { - BLAS_LAPACK_DIR: { name: 'fastr-403-blas-lapack-gcc', version: '4.8.5', platformspecific: true }, - F2C_BINARY: { name: 'f2c-binary', version: '7', platformspecific: true }, - FASTR_RECOMMENDED_BINARY: { name: 'fastr-recommended-pkgs', version: '16', platformspecific: true }, - } - else {}, - catch_files+: if (self.os != "windows" && self.arch == "amd64") then [ - 'GNUR_CONFIG_LOG = (?P.+\\.log)', - 'GNUR_MAKE_LOG = (?P.+\\.log)', - ] else [], - }, - svm:: { packages+: { cmake: "==3.22.2", diff --git a/vm/ci/ci_common/common-runspec.jsonnet b/vm/ci/ci_common/common-runspec.jsonnet index 0cc8a560a9b6..68e5f46da393 100644 --- a/vm/ci/ci_common/common-runspec.jsonnet +++ b/vm/ci/ci_common/common-runspec.jsonnet @@ -25,7 +25,6 @@ local evaluate_late(key, object) = task_spec(run_spec.evaluate_late({key:object} local sulong = task_spec(graal_common.deps.sulong), local graalpy = task_spec(graal_common.deps.graalpy), local graalnodejs = task_spec(graal_common.deps.graalnodejs), - local fastr = task_spec(graal_common.deps.fastr), local timelimit(t) = evaluate_late('999_time_limit', { // the key starts with 999 to be the last one evaluated timelimit: t diff --git a/vm/ci/ci_common/common.jsonnet b/vm/ci/ci_common/common.jsonnet index 65385a00df32..201f6d46328c 100644 --- a/vm/ci/ci_common/common.jsonnet +++ b/vm/ci/ci_common/common.jsonnet @@ -72,12 +72,6 @@ local devkits = graal_common.devkits; }, }, - fastr_no_recommended: { - environment+: { - FASTR_NO_RECOMMENDED: 'true' - }, - }, - vm_linux_amd64: graal_common.linux_amd64 + self.common_vm_linux + graal_common.deps.svm, vm_linux_amd64_ol9: graal_common.linux_amd64_ol9 + self.common_vm_linux + graal_common.deps.svm, @@ -145,7 +139,7 @@ local devkits = graal_common.devkits; $.mx_vm_complete + self.artifact_deploy_standalones_dry_run(os) ], - full_vm_build: graal_common.deps.svm + graal_common.deps.sulong + graal_common.deps.graalpy + graal_common.deps.fastr + vm.custom_vm + graal_common.deps.espresso, + full_vm_build: graal_common.deps.svm + graal_common.deps.sulong + graal_common.deps.graalpy + vm.custom_vm + graal_common.deps.espresso, graalvm_complete_build_deps(edition, os, arch, java_version, espresso_java_version=25, espresso_extra_java_version=[21]): local java_deps(edition) = diff --git a/vm/mx.vm/ce-aarch64-complete b/vm/mx.vm/ce-aarch64-complete index 9a8c59e38e04..5df1a16ed0e9 100644 --- a/vm/mx.vm/ce-aarch64-complete +++ b/vm/mx.vm/ce-aarch64-complete @@ -1,4 +1,4 @@ -# Same as the ce-aarch64 env, except more dynamic imports and no NATIVE_IMAGES list, and no fastr +# Same as the ce-aarch64 env, except more dynamic imports and no NATIVE_IMAGES list DYNAMIC_IMPORTS=/compiler,/graal-js,/graal-nodejs,/regex,/sdk,/substratevm,/sulong,/tools,/truffle,/wasm,graalpython COMPONENTS=cmp,gvm,lg,ni,nic,nil,sdkni,svm,svmjdwp,svmt,svmsl,tflc,tflsm NON_REBUILDABLE_IMAGES=lib:jvmcicompiler diff --git a/vm/mx.vm/ce-complete b/vm/mx.vm/ce-complete index fe992f50030e..2b8f6b5a50d0 100644 --- a/vm/mx.vm/ce-complete +++ b/vm/mx.vm/ce-complete @@ -1,4 +1,4 @@ # Same as the ce env, except more dynamic imports and no NATIVE_IMAGES list -DYNAMIC_IMPORTS=/compiler,/graal-js,/graal-nodejs,/regex,/sdk,/substratevm,/sulong,/tools,/truffle,/wasm,fastr,graalpython +DYNAMIC_IMPORTS=/compiler,/graal-js,/graal-nodejs,/regex,/sdk,/substratevm,/sulong,/tools,/truffle,/wasm,graalpython COMPONENTS=cmp,gvm,lg,ni,nic,nil,sdkni,svm,svmjdwp,svmt,svmsl,tflc,tflsm NON_REBUILDABLE_IMAGES=lib:jvmcicompiler diff --git a/vm/mx.vm/ce-darwin-aarch64-complete b/vm/mx.vm/ce-darwin-aarch64-complete index bb5a2f01dd43..3035e3d5f0fa 100644 --- a/vm/mx.vm/ce-darwin-aarch64-complete +++ b/vm/mx.vm/ce-darwin-aarch64-complete @@ -1,4 +1,4 @@ -# Same as the ce-darwin-aarch64 env, except more dynamic imports and no NATIVE_IMAGES list, and no fastr +# Same as the ce-darwin-aarch64 env, except more dynamic imports and no NATIVE_IMAGES list DYNAMIC_IMPORTS=/compiler,/graal-js,/graal-nodejs,/regex,/sdk,/substratevm,/sulong,/tools,/truffle,/wasm,graalpython COMPONENTS=cmp,gvm,lg,ni,nic,nil,sdkni,svm,svmjdwp,svmt,svmsl,tflc,tflsm NON_REBUILDABLE_IMAGES=lib:jvmcicompiler diff --git a/vm/mx.vm/ce-fastr b/vm/mx.vm/ce-fastr deleted file mode 100644 index 04004c02635d..000000000000 --- a/vm/mx.vm/ce-fastr +++ /dev/null @@ -1,4 +0,0 @@ -DYNAMIC_IMPORTS=/compiler,/graal-js,/sdk,/substratevm,/sulong,/tools,/truffle,fastr -COMPONENTS=antlr4,xz,R,cmp,cov,dap,gvm,ins,insight,insightheap,lg,llp,llrc,llrl,llrn,lsp,nfi-libffi,ni,nic,pro,sdk,sdkl,svmt,svmnfi,tfl,tfla,tflc,tflm,tflllm,truffle-json -NATIVE_IMAGES=lib:jvmcicompiler -NON_REBUILDABLE_IMAGES=lib:jvmcicompiler diff --git a/vm/mx.vm/ce-fastr-native b/vm/mx.vm/ce-fastr-native deleted file mode 100644 index bb713b7fa6a8..000000000000 --- a/vm/mx.vm/ce-fastr-native +++ /dev/null @@ -1,4 +0,0 @@ -DYNAMIC_IMPORTS=/compiler,/graal-js,/sdk,/substratevm,/sulong,/tools,/truffle,fastr -COMPONENTS=antlr4,xz,R,cmp,cov,dap,gvm,ins,insight,insightheap,lg,llp,llrc,llrl,llrn,lsp,nfi-libffi,ni,nic,pro,sdk,sdkl,svmt,svmnfi,tfl,tfla,tflc,tflm,tflllm,truffle-json -NATIVE_IMAGES=lib:jvmcicompiler,lib:Rvm -NON_REBUILDABLE_IMAGES=lib:jvmcicompiler diff --git a/vm/mx.vm/ce-win-complete b/vm/mx.vm/ce-win-complete index a2a13459b055..cdaf8faa4c71 100644 --- a/vm/mx.vm/ce-win-complete +++ b/vm/mx.vm/ce-win-complete @@ -1,4 +1,4 @@ -# Same as the ce-win env, except more dynamic imports and no NATIVE_IMAGES list, and no truffleruby,fastr +# Same as the ce-win env, except more dynamic imports and no NATIVE_IMAGES list DYNAMIC_IMPORTS=/compiler,/graal-js,/graal-nodejs,/regex,/sdk,/substratevm,/sulong,/tools,/truffle,/wasm,graalpython COMPONENTS=cmp,gvm,lg,ni,nic,nil,sdkni,svm,svmjdwp,svmt,svmsl,tflc,tflsm NON_REBUILDABLE_IMAGES=lib:jvmcicompiler diff --git a/vm/mx.vm/mx_vm.py b/vm/mx.vm/mx_vm.py index 2063a2b57396..464e861104b7 100644 --- a/vm/mx.vm/mx_vm.py +++ b/vm/mx.vm/mx_vm.py @@ -89,7 +89,6 @@ def local_path_to_url(args): ce_components = ce_components_minimal + ['nr_lib_jvmcicompiler', 'bnative-image-utils', 'ni', 'nic', 'nil', 'svm', 'svmt', 'svmnfi', 'svmsl'] ce_python_components = ['antlr4', 'sllvmvm', 'cmp', 'cov', 'dap', 'dis', 'gvm', 'icu4j', 'xz', 'ins', 'insight', 'insightheap', 'lg', 'llp', 'llrc', 'llrl', 'llrlf', 'llrn', 'lsp', 'nfi-libffi', 'nfi', 'pro', 'pyn', 'pynl', 'rgx', 'sdk', 'sdkni', 'sdkc', 'sdkl', 'tfl', 'tfla', 'tflc', 'tflm', 'truffle-json'] -ce_fastr_components = ce_components + llvm_components + ['antlr4', 'xz', 'sllvmvm', 'llp', 'bnative-image', 'snative-image-agent', 'R', 'sRvm', 'bnative-image-utils', 'llrc', 'snative-image-diagnostics-agent', 'llrn', 'llrl', 'llrlf'] ce_no_native_components = ['cmp', 'cov', 'dap', 'gvm', 'ins', 'insight', 'insightheap', 'lsp', 'nfi-libffi', 'nfi', 'pro', 'sdk', 'sdkni', 'sdkc', 'sdkl', 'tfl', 'tfla', 'tflc', 'tflm', 'tflllm', 'truffle-json'] # Main GraalVMs @@ -101,7 +100,6 @@ def local_path_to_url(args): mx_sdk_vm.register_vm_config('ce', ce_components + ['icu4j', 'xz', 'js', 'jsl', 'jss', 'rgx', 'bnative-image', 'snative-image-agent', 'snative-image-diagnostics-agent', 'tflsm'], _suite, dist_name='ce-js', env_file='ce-js') mx_sdk_vm.register_vm_config('ce', ce_components + ['gwal', 'gwa', 'icu4j', 'xz', 'js', 'jsl', 'jss', 'njs', 'njsl', 'rgx', 'sjsvm', 'swasmvm', 'tflsm'], _suite, dist_name='ce', env_file='ce-nodejs') mx_sdk_vm.register_vm_config('ce', ce_components_minimal + ['antlr4', 'llrn', 'llp', 'llrc', 'llrl', 'llrlf'], _suite, env_file='ce-llvm') -mx_sdk_vm.register_vm_config('ce-fastr', ce_fastr_components, _suite) mx_sdk_vm.register_vm_config('ce-no_native', ce_no_native_components, _suite) mx_sdk_vm.register_vm_config('libgraal', ['cmp', 'lg', 'sdkc', 'tflc'], _suite) mx_sdk_vm.register_vm_config('libgraal-bash', llvm_components + ['cmp', 'gvm', 'lg', 'nfi-libffi', 'nfi', 'sdk', 'sdkni', 'sdkc', 'sdkl', 'tfl', 'tfla', 'tflc', 'tflm'], _suite, env_file=False) @@ -362,18 +360,6 @@ def mx_register_dynamic_suite_constituents(register_project, register_distributi :type register_project: (mx.Project) -> None :type register_distribution: (mx.Distribution) -> None """ - if mx_sdk_vm_impl.has_component('FastR'): - fastr_release_env = mx.get_env('FASTR_RELEASE', None) - if fastr_release_env != 'true': - mx.abort( - f"When including FastR, please set FASTR_RELEASE to 'true' (env FASTR_RELEASE=true mx ...). " - f"Got FASTR_RELEASE={fastr_release_env}. " - 'For local development, you may also want to disable recommended packages build ' - '(FASTR_NO_RECOMMENDED=true) and capturing of system libraries ' - '(export FASTR_CAPTURE_DEPENDENCIES set to an empty value). ' - 'See building.md in FastR documentation for more details.' - ) - if register_distribution and _suite.primary: # Only primary suite can register languages and tools distributions. # If the suite is not a primary suite, languages and tools distributions might not have been loaded yet. diff --git a/vm/mx.vm/mx_vm_gate.py b/vm/mx.vm/mx_vm_gate.py index db3770f79ed8..8746ed00cb56 100644 --- a/vm/mx.vm/mx_vm_gate.py +++ b/vm/mx.vm/mx_vm_gate.py @@ -67,7 +67,6 @@ class VmGateTasks: graal_js_tests_compiled = 'graal-js-tests-compiled' graal_nodejs = 'graal-nodejs' python = 'python' - fastr = 'fastr' integration = 'integration' tools = 'tools' libgraal = 'libgraal' diff --git a/vm/mx.vm/suite.py b/vm/mx.vm/suite.py index ed2aeb37ee05..fdf65793db1d 100644 --- a/vm/mx.vm/suite.py +++ b/vm/mx.vm/suite.py @@ -48,14 +48,6 @@ {"url": "https://github.com/graalvm/graaljs.git", "kind" : "git"}, ] }, - { - "name": "fastr", - "version": "6e5e07a23c5dce133a07701d6c49afcfd9cee86c", - "dynamic": True, - "urls": [ - {"url": "https://github.com/oracle/fastr.git", "kind": "git"}, - ] - }, { "name": "graalpython", "version": "196ff1a0e59d668babb49435e6fdfc5b2d388817",