sgilmore10 opened a new pull request #10305:
URL: https://github.com/apache/arrow/pull/10305


   **Overview**
   * The MEX functions ``featherreadmex`` and ``featherwritemex`` fail to build 
against the latest Arrow C++ APIs. These changes allow them to successfully 
build.
   * These changes require CMake version 3.20 or later in order to access the 
latest functionality exposed by 
[FindMatlab.cmake](https://cmake.org/cmake/help/latest/module/FindMatlab.html). 
We noticed that some Arrow project components, such as 
[Gandiva](https://arrow.apache.org/docs/developers/cpp/building.html?highlight=gandiva#cmake-version-requirements),
 require newer versions of CMake than the core Arrow C++ libraries.  If version 
3.20 is too new, we're happy to find an alternative.
   * We couldn't find a way to read and write a table description for feather 
V1 files using the latest APIs. It looks like support for reading and writing 
descriptions was modified in pull request 
https://github.com/apache/arrow/pull/6694. For now, we've removed support for 
table descriptions.
   
   **Testing**
   * Built ``featherreadmex`` and ``featherwritemex`` on Windows 10 with Visual 
Studio 2019
   * Built ``featherreadmex`` and ``featherwritemex`` on macOS Big Sur (11.2.3) 
with GNU Make 3.81
   * Built ``featherreadmex`` and ``featherwritemex`` on Debian 10 with GNU 
Make GNU 4.2.1
   * Ran all tests in ``tfeather`` and ``tfeathermex`` on all platforms in 
MATLAB R2021a
   
   **Future Directions**
   * We did not detect the build failures due to the lack of CI integration. We 
hope to add CI support soon and will follow up with a mailing list discussion 
to talk through the details. 
   * These changes are temporary to allow us to have a clean slate to start 
developing the  [MATLAB Interface to Apache 
Arrow](https://github.com/apache/arrow/blob/master/matlab/doc/matlab_interface_for_apache_arrow_design.md).
   * Eventually we would like to support the full ranges of data types for 
feather V1 and feather V2.
   * In order to modernize the code, we plan to migrate to the [C++ 
MEX](https://www.mathworks.com/help/matlab/cpp-mex-file-applications.html) and 
[MATLAB Data 
Array](https://www.mathworks.com/help/matlab/matlab-data-array.html) APIs.
   * We are going to follow up with another pull request to update the 
README.md to provide more detailed platform-specific development instructions. 
   * The MATLAB based build system inside of the ``build_support`` folder is 
out of date.  We are not sure if we want to maintain a separate MATLAB based 
build system along side the CMake based one. We will follow up on this in the 
future via the mailing list or Jira. 
   
   We acknowledge there is a lot of information in this pull request. In the 
future, we will work in smaller increments. We felt a bigger pull request was 
necessary to get back to a working state.
   
   Thanks,
   Sarah


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to