Skip to content

[Python][C++] Fix deprecations when building pyarrow #45129

@raulcd

Description

@raulcd

Describe the bug, including details regarding any error messages, version, and platform.

I've noticed some deprecations when building pyarrow:

  [28/53] Building CXX object CMakeFiles/arrow_python.dir/pyarrow/src/arrow/python/deserialize.cc.o
  In file included from /root/dist/include/arrow/util/cancel.h:25,
                   from /root/dist/include/arrow/io/interfaces.h:28,
                   from /root/dist/include/arrow/io/caching.h:26,
                   from /root/dist/include/arrow/ipc/options.h:24,
                   from /arrow/python/pyarrow/src/arrow/python/serialize.h:23,
                   from /arrow/python/pyarrow/src/arrow/python/deserialize.h:24,
                   from /arrow/python/pyarrow/src/arrow/python/deserialize.cc:18:
  /arrow/python/pyarrow/src/arrow/python/deserialize.cc: In function ‘arrow::Status arrow::py::NdarrayFromBuffer(std::shared_ptr<arrow::Buffer>, std::shared_ptr<arrow::Tensor>*)’:
  /arrow/python/pyarrow/src/arrow/python/deserialize.cc:498:37: warning: ‘arrow::Status arrow::py::ReadSerializedObject(arrow::io::RandomAccessFile*, SerializedPyObject*)’ is deprecated: Deprecated in 18.0.0. Will be removed in 20.0.0 [-Wdeprecated-declarations]
    498 |   RETURN_NOT_OK(ReadSerializedObject(&reader, &object));
        |                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /root/dist/include/arrow/status.h:57:62: note: in definition of macro ‘ARROW_RETURN_NOT_OK’
     57 |     ::arrow::Status __s = ::arrow::internal::GenericToStatus(status); \
        |                                                              ^~~~~~
  /arrow/python/pyarrow/src/arrow/python/deserialize.cc:498:3: note: in expansion of macro ‘RETURN_NOT_OK’
    498 |   RETURN_NOT_OK(ReadSerializedObject(&reader, &object));
        |   ^~~~~~~~~~~~~
  /arrow/python/pyarrow/src/arrow/python/deserialize.cc:324:8: note: declared here
    324 | Status ReadSerializedObject(io::RandomAccessFile* src, SerializedPyObject* out) {
        |        ^~~~~~~~~~~~~~~~~~~~
  /arrow/python/pyarrow/src/arrow/python/deserialize.cc:499:28: warning: ‘arrow::Status arrow::py::DeserializeNdarray(const SerializedPyObject&, std::shared_ptr<arrow::Tensor>*)’ is deprecated: Deprecated in 18.0.0. Will be removed in 20.0.0 [-Wdeprecated-declarations]
    499 |   return DeserializeNdarray(object, out);
        |          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /arrow/python/pyarrow/src/arrow/python/deserialize.cc:486:8: note: declared here
    486 | Status DeserializeNdarray(const SerializedPyObject& object,
        |        ^~~~~~~~~~~~~~~~~~
  [29/53] Building CXX object CMakeFiles/arrow_python.dir/pyarrow/src/arrow/python/filesystem.cc.o
  [30/53] Building CXX object CMakeFiles/arrow_python.dir/pyarrow/src/arrow/python/python_test.cc.o
  /arrow/python/pyarrow/src/arrow/python/python_test.cc: In function ‘arrow::Status arrow::py::testing::{anonymous}::TestDecimal128OverflowFails()’:
  /arrow/python/pyarrow/src/arrow/python/python_test.cc:666:31: warning: ‘std::shared_ptr<arrow::DataType> arrow::decimal(int32_t, int32_t)’ is deprecated: Deprecated in 18.0. Use `smallest_decimal` instead [-Wdeprecated-declarations]
    666 |   auto type = ::arrow::decimal(38, 38);
        |               ~~~~~~~~~~~~~~~~^~~~~~~~
  In file included from /root/dist/include/arrow/array/statistics.h:25,
                   from /root/dist/include/arrow/array/data.h:27,
                   from /root/dist/include/arrow/array/array_base.h:26,
                   from /root/dist/include/arrow/array.h:41,
                   from /arrow/python/pyarrow/src/arrow/python/python_test.cc:25:
  /root/dist/include/arrow/type_fwd.h:537:27: note: declared here
    537 | std::shared_ptr<DataType> decimal(int32_t precision, int32_t scale);
        |                           ^~~~~~~
  /arrow/python/pyarrow/src/arrow/python/python_test.cc: In function ‘arrow::Status arrow::py::testing::{anonymous}::TestDecimal256OverflowFails()’:
  /arrow/python/pyarrow/src/arrow/python/python_test.cc:692:31: warning: ‘std::shared_ptr<arrow::DataType> arrow::decimal(int32_t, int32_t)’ is deprecated: Deprecated in 18.0. Use `smallest_decimal` instead [-Wdeprecated-declarations]
    692 |   auto type = ::arrow::decimal(76, 76);
        |               ~~~~~~~~~~~~~~~~^~~~~~~~
  /root/dist/include/arrow/type_fwd.h:537:27: note: declared here
    537 | std::shared_ptr<DataType> decimal(int32_t precision, int32_t scale);
        |                           ^~~~~~~

We should fix those.

Component(s)

C++, Python

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions