diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1bacc7b9363 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +name = 'Bazel' +version = '6.1.0' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = ['Bazel-6.3.1_add-symlinks-in-runfiles.patch'] +checksums = [ + {'bazel-6.1.0-dist.zip': 'c4b85675541cf66ee7cb71514097fdd6c5fc0e02527243617a4f20ca6b4f2932'}, + {'Bazel-6.3.1_add-symlinks-in-runfiles.patch': '81db53aa87229557480b6f719c99a0f1af9c69dfec12185451e520b0128c3ae2'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..01d839324bb --- /dev/null +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'grpcio' +version = '1.57.0' + +homepage = 'https://grpc.io/' +description = """gRPC is a modern, open source, high-performance remote procedure call (RPC) +framework that can run anywhere. gRPC enables client and server applications to +communicate transparently, and simplifies the building of connected systems.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + +builddependencies = [ + ('binutils', '2.40'), + ('OpenSSL', '1.1', '', SYSTEM), + ('RE2', '2023-08-01'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('protobuf-python', '4.24.0'), + ('Abseil', '20230125.3'), +] + +exts_list = [ + (name, version, { + 'modulename': 'grpc', + 'preinstallopts': ( + # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) + "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " + "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " + # Required to avoid building with non-default C++ standard but keep other flags, + # see https://github.com/grpc/grpc/issues/34256 + 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' + "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " + "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " + "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " + "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " + ), + 'patches': ['grpcio-1.57.0_use-ebroot.patch'], + 'checksums': [ + {'grpcio-1.57.0.tar.gz': + '4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613'}, + {'grpcio-1.57.0_use-ebroot.patch': + '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch new file mode 100644 index 00000000000..3a7bc8cc255 --- /dev/null +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch @@ -0,0 +1,51 @@ +diff --git a/setup.py b/setup.py +index 97c1dcec54..cc7bc8552e 100644 +--- a/setup.py ++++ b/setup.py +@@ -313,29 +313,33 @@ if "win32" in sys.platform: + CORE_C_FILES = filter(lambda x: "third_party/cares" not in x, CORE_C_FILES) + + if BUILD_WITH_SYSTEM_OPENSSL: ++ EBROOTOPENSSL = os.environ.get('EBROOTOPENSSL') + CORE_C_FILES = filter( + lambda x: "third_party/boringssl" not in x, CORE_C_FILES + ) + CORE_C_FILES = filter(lambda x: "src/boringssl" not in x, CORE_C_FILES) +- SSL_INCLUDE = (os.path.join("/usr", "include", "openssl"),) ++ SSL_INCLUDE = (os.path.join(EBROOTOPENSSL, "include", "openssl"),) + + if BUILD_WITH_SYSTEM_ZLIB: ++ EBROOTZLIB = os.environ.get('EBROOTZLIB') + CORE_C_FILES = filter(lambda x: "third_party/zlib" not in x, CORE_C_FILES) +- ZLIB_INCLUDE = (os.path.join("/usr", "include"),) ++ ZLIB_INCLUDE = (os.path.join(EBROOTZLIB, "include"),) + + if BUILD_WITH_SYSTEM_CARES: + CORE_C_FILES = filter(lambda x: "third_party/cares" not in x, CORE_C_FILES) + CARES_INCLUDE = (os.path.join("/usr", "include"),) + + if BUILD_WITH_SYSTEM_RE2: ++ EBROOTRE2 = os.environ.get('EBROOTRE2') + CORE_C_FILES = filter(lambda x: "third_party/re2" not in x, CORE_C_FILES) +- RE2_INCLUDE = (os.path.join("/usr", "include", "re2"),) ++ RE2_INCLUDE = (os.path.join(EBROOTRE2, "include", "re2"),) + + if BUILD_WITH_SYSTEM_ABSL: ++ EBROOTABSEIL = os.environ.get('EBROOTABSEIL') + CORE_C_FILES = filter( + lambda x: "third_party/abseil-cpp" not in x, CORE_C_FILES + ) +- ABSL_INCLUDE = (os.path.join("/usr", "include"),) ++ ABSL_INCLUDE = (os.path.join(EBROOTABSEIL, "include"),) + + EXTENSION_INCLUDE_DIRECTORIES = ( + (PYTHON_STEM,) +@@ -378,7 +382,7 @@ if BUILD_WITH_SYSTEM_RE2: + EXTENSION_LIBRARIES += ("re2",) + if BUILD_WITH_SYSTEM_ABSL: + EXTENSION_LIBRARIES += tuple( +- lib.stem[3:] for lib in pathlib.Path("/usr").glob("lib*/libabsl_*.so") ++ lib.stem[3:] for lib in pathlib.Path(EBROOTABSEIL).glob("lib*/libabsl_*.so") + ) + + DEFINE_MACROS = (("_WIN32_WINNT", 0x600),) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb new file mode 100644 index 00000000000..014f3bbd7a5 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -0,0 +1,211 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.15.1' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + +builddependencies = [ + ('Bazel', '6.1.0'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.41.0', '-nodocs'), + ('pybind11', '2.11.1'), + ('UnZip', '6.0'), + # Required to build some of the extensions + ('poetry', '1.5.1'), + # Protobuf disabled since 2.13.0 easyconfigs: + # Compiling with system protobuf don't seem to work, see: + # https://github.com/tensorflow/tensorflow/issues/61593 + # ('protobuf', '24.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('h5py', '3.9.0'), + ('cURL', '8.0.1'), + ('dill', '0.3.7'), + ('double-conversion', '3.3.0'), + ('flatbuffers', '23.5.26'), + ('flatbuffers-python', '23.5.26'), + ('giflib', '5.2.1'), + ('hwloc', '2.9.1'), + ('ICU', '73.2'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.5.1'), + ('ml_dtypes', '0.3.2'), + ('NASM', '2.16.01'), + ('nsync', '1.26.0'), + ('SQLite', '3.42.0'), + ('patchelf', '0.18.0'), + ('libpng', '1.6.39'), + ('snappy', '1.1.10'), + ('zlib', '1.2.13'), + ('grpcio', '1.57.0'), +] + +# Dependencies created and updated using findPythonDeps, see: +# https://docs.easybuild.io/api/easybuild/scripts/findPythonDeps +# Notable changes since 2.13.0-foss-2023a +# - tensoboard-wit deprecated as of tensorboard 2.13.0 (tensorboard@33abcb54d7) +# - portpicker for tests no longer needed (TF@e85860e838) +# - opt_einsum now comes from ml_dtypes +exts_list = [ + + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('tensorflow-estimator', '2.15.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['aedf21eec7fb2dc91150fc91a1ce12bc44dbb72278a08b58e79ff87c9e28f153'], + }), + ('Werkzeug', '3.0.2', { + 'source_tmpl': SOURCELOWER_TAR_GZ, + 'checksums': ['e39b645a6ac92822588e7b39a692e7828724ceae0b0d702ef96701f90e70128d'], + }), + ('tensorboard-data-server', '0.7.2', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], + }), + ('Markdown', '3.6', { + 'checksums': ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '2.0.0', { + 'checksums': ['b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.4.0', { + 'source_tmpl': 'pyasn1_modules-%(version)s.tar.gz', + 'checksums': ['831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('google-auth', '2.29.0', { + 'modulename': 'google.auth', + 'checksums': ['672dff332d073227550ffc7457868ac4218d6c500b155fe6cc17d2b13602c360'], + }), + ('google-auth-oauthlib', '1.2.0', { + 'checksums': ['292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8'], + }), + ('absl-py', '2.1.0', { + 'modulename': 'absl', + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), + ('tensorboard', '2.15.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['a6f6443728064d962caea6d34653e220e34ef8df764cb06a8212c17e1a8f0622'], + }), + ('keras', '2.15.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['2dcc6d2e30cf9c951064b63c1f4c404b966c59caf09e01f3549138ec8ee0dd1f'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Required by tests + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.15.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['84bb33e446eb4a9c0616f669fc6a42cdd40eadd9ae1d74bf756f4f0479993273'], + }), + (name, version, { + 'patches': [ + 'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch', + 'TensorFlow-2.15.1_remove-libclang-dep.patch', + 'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch', + 'TensorFlow-2.15.1_add-default-shell-env.patch', + 'TensorFlow-2.15.1_fix-flatbuffer-license.patch', + 'TensorFlow-2.15.1_fix-pybind11-build.patch', + ], + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': ( + '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_tag_filters_gpu': ( + 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ', + 'testopts_gpu': ( + '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ' + '--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute ' + ), + 'with_xla': True, + 'checksums': [ + {'v2.15.1.tar.gz': 'f36416d831f06fe866e149c7cd752da410a11178b01ff5620e9f265511ed57cf'}, + {'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch': + '77d8c8a5627493fc7c38b4de79d49e60ff6628b05ff969f4cd3ff9857176c459'}, + {'TensorFlow-2.15.1_remove-libclang-dep.patch': + '871b2f0221b7a150ac9f563ffad7187e052a7eedd95c20fb4524987d7edb6f21'}, + {'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch': + 'eba7351a4b0696c589b9c507bacb0257ebce8c39fde39ab72d5d6a69deaaec02'}, + {'TensorFlow-2.15.1_add-default-shell-env.patch': + '3d5196b4bf2e91048dc8a18f9e8f487a223fcd973d6302e80b0d4000ea3d652b'}, + {'TensorFlow-2.15.1_fix-flatbuffer-license.patch': + '2c04d5095977a628a238dbf93c5fada7159c86752a7183e64e0cf7c7ab00caf4'}, + {'TensorFlow-2.15.1_fix-pybind11-build.patch': + '3bb350ac92ab99c63c951c96b3b0160699f5f16822b64f72111ebfd2275cafce'}, + ], + }), +] + +# Taken from tensorboard-2.15.1-gfbf-2023a.eb: +# Relax restriction on protobuf dependency as issue was fixed +# in https://github.com/protocolbuffers/upb/pull/1514 +# see also: https://github.com/easybuilders/easybuild-easyconfigs/pull/19671 +postinstallcmds = [ + 'sed -i "s/Requires-Dist: protobuf.*/Requires-Dist: protobuf >=3.19.6/g" ' + + '%(installdir)s/lib/python%(pyshortver)s/site-packages/tensorboard-2.15.2.dist-info/METADATA', +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch new file mode 100644 index 00000000000..f1510205a04 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch @@ -0,0 +1,51 @@ +Make TensorFlow use the environment as set by EasyBuild + +See https://github.com/tensorflow/tensorflow/pull/61591 + +Author: Alexander Grund (TU Dresden) + +Edit in 2.15.1: include also python api generator / Yunqi Shao (C3SE) + +diff --git a/tensorflow/python/tools/api/generator2/generate_api.bzl b/tensorflow/python/tools/api/generator2/generate_api.bzl index 64e9b96276e..afadd07bc3d 100644 +--- a/tensorflow/python/tools/api/generator2/generate_api.bzl ++++ b/tensorflow/python/tools/api/generator2/generate_api.bzl +@@ -95,6 +95,7 @@ def _api_extractor_impl(target, ctx): + outputs = [output], + arguments = [args], + progress_message = "Extracting " + api + " APIs for %{label} to %{output}.", ++ use_default_shell_env = True, + ) + + direct_api.append(output) +@@ -218,6 +219,7 @@ def _generate_api_impl(ctx): + outputs = ctx.outputs.output_files, + arguments = [args], + progress_message = "Generating APIs for %{label} to %{output}.", ++ use_default_shell_env = True, + ) + + # Convert output_paths to the list of corresponding modules for the further testing +diff --git a/tensorflow/lite/build_def.bzl b/tensorflow/lite/build_def.bzl +index cdc02ac2b26..6b4c8b9045f 100644 +--- a/tensorflow/lite/build_def.bzl ++++ b/tensorflow/lite/build_def.bzl +@@ -368,6 +368,7 @@ def _gen_selected_ops_impl(ctx): + executable = ctx.executable._generate_op_registrations, + mnemonic = "OpRegistration", + progress_message = "gen_selected_ops", ++ use_default_shell_env = True, + ) + + gen_selected_ops_rule = rule( +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 6762ccd8f9b..de7c27a1275 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1325,6 +1325,7 @@ def _generate_op_reg_offsets_impl(ctx): + tools = [ctx.executable._offset_counter], + executable = ctx.executable._offset_counter, + arguments = [args], ++ use_default_shell_env = True, + ) + + generate_op_reg_offsets = rule( diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch new file mode 100644 index 00000000000..4970cd0b758 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch @@ -0,0 +1,13 @@ +diff --git a/third_party/flatbuffers/BUILD.system b/third_party/flatbuffers/BUILD.system +index 8fe4d7a5907..b1d63b4ca0f 100644 +--- a/third_party/flatbuffers/BUILD.system ++++ b/third_party/flatbuffers/BUILD.system +@@ -1,7 +1,7 @@ + licenses(["notice"]) # Apache 2.0 + + filegroup( +- name = "LICENSE.txt", ++ name = "LICENSE", + visibility = ["//visibility:public"], + ) + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch new file mode 100644 index 00000000000..c12c8726172 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch @@ -0,0 +1,14 @@ +diff --git a/third_party/systemlibs/pybind11.BUILD b/third_party/systemlibs/pybind11.BUILD +index 79a483d7b5d..463dd1a8ec7 100644 +--- a/third_party/systemlibs/pybind11.BUILD ++++ b/third_party/systemlibs/pybind11.BUILD +@@ -6,3 +6,9 @@ cc_library( + "@org_tensorflow//third_party/python_runtime:headers", + ], + ) ++ ++# Needed by pybind11_bazel. ++config_setting( ++ name = "osx", ++ constraint_values = ["@platforms//os:osx"], ++) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch new file mode 100644 index 00000000000..911d4b651ed --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 17ba9dc3323..c62900882ad 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -101,7 +101,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0, < 1.15', +- 'tensorflow-io-gcs-filesystem >= 0.23.1', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch new file mode 100644 index 00000000000..377c6e5a377 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index fc5fd364c47..17ba9dc3323 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -88,7 +88,6 @@ REQUIRED_PACKAGES = [ + 'gast >=0.2.1,!=0.5.0,!=0.5.1,!=0.5.2', + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', +- 'libclang >= 13.0.0', + 'ml_dtypes ~= 0.3.1', + 'numpy >= 1.23.5, < 2.0.0', + 'opt_einsum >= 2.3.2',