Subject: Tensorflow 1.9 build failure

From: Andy Tai <[email-masked]>
Date: Thu, 9 Jan 2025 23:42:05 -0800

With the current GNU Guix, Tensorflow 1.9 build failure:

--beginning of log fragment--
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/ops.py:65:
SyntaxWarning: "is not" with a literal. Did you mean "!="?
  _USE_C_SHAPES = os.getenv("TF_C_API_GRAPH_CONSTRUCTION_SHAPES", "0")
is not "0"
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py:523:
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is
deprecated; in a future version of numpy, it will be understood as
(type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py:524:
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is
deprecated; in a future version of numpy, it will be understood as
(type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py:525:
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is
deprecated; in a future version of numpy, it will be understood as
(type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py:526:
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is
deprecated; in a future version of numpy, it will be understood as
(type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py:527:
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is
deprecated; in a future version of numpy, it will be understood as
(type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py:532:
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is
deprecated; in a future version of numpy, it will be understood as
(type, (1,)) / '(1,)type'.
  np_resource = np.dtype([("resource", np.ubyte, 1)])
/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py:549:
FutureWarning: In the future `np.object` will be defined as the
corresponding NumPy scalar.
  (np.object, string),
Traceback (most recent call last):
  File "/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/tools/api/generator/create_python_api.py",
line 27, in <module>
    from tensorflow.python.util import tf_decorator
  File "/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/__init__.py",
line 63, in <module>
    from tensorflow.python.framework.framework_lib import *  # pylint:
disable=redefined-builtin
  File "/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/framework_lib.py",
line 25, in <module>
    from tensorflow.python.framework.ops import Graph
  File "/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/ops.py",
line 47, in <module>
    from tensorflow.python.framework import dtypes
  File "/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build/tf_python/tensorflow/python/framework/dtypes.py",
line 549, in <module>
    (np.object, string),
  File "/gnu/store/bjzcmv1w0bb1b8a0dd9gl4dj71634d8h-python-numpy-1.24.4/lib/python3.10/site-packages/numpy/__init__.py",
line 305, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'object'.
`np.object` was a deprecated alias for the builtin `object`. To avoid
this error in existing code, use `object` by itself. Doing this will
not modify any behavior and is safe.
The aliases was originally deprecated in NumPy 1.20; for more details
and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations.
Did you mean: 'object_'?
make[3]: *** [CMakeFiles/tf_python_api.dir/build.make:75:
tf_python/tensorflow/__init__.py] Error 1
make[3]: Leaving directory
'/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build'
make[2]: *** [CMakeFiles/Makefile2:7591:
CMakeFiles/tf_python_api.dir/all] Error 2
make[2]: Leaving directory
'/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build'
make[1]: *** [CMakeFiles/Makefile2:7629:
CMakeFiles/tf_python_build_pip_package.dir/rule] Error 2
make[1]: Leaving directory
'/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build'
make: *** [Makefile:3331: tf_python_build_pip_package] Error 2
error: in phase 'build-pip-package': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "16"
"tf_python_build_pip_package") exit-status: 2 term-signal: #f
stop-signal: #f>
phase `build-pip-package' failed after 242.9 seconds
command "make" "-j" "16" "tf_python_build_pip_package" failed with status 2
build process 18 exited with status 256
---end of log fragment--

because the failure seems python related, hope someone familiar with
Python can take a look.  Thanks