apache / apache/arrow-nanoarrow

Bindings with C library

Open
#851 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
249
Forks
68
Avg merge
2d 21h
Merged PRs (30d)
11

Description

I'm trying to build an example with C API for different than C/R/Python language.

Several questisons:
1) What is the suggested way of storing/building original library? Should it be located withing the binding library? Or we can just assume that the library is installed in the system?
2) I'm using macOS arm. Currenttly I'm installed nanoarrow with "brew install". I've checked the installed .a and .dylib files with the command:
nm -gU
They don't have methods ArrowArrayAppendInt/ArrowArrayAppendUInt. Though these methods are mentioned in the C API documentation.
3) The library currently installing in the strange format. For example, it is putting nanoarrow.h to 2 folders: /opt/homebrew/include/nanoarrow and /opt/homebrew/Cellar/nanoarraiw/0.8.0/include. The first one has include in the form "#includ "nanoarrow/common/inline_types.h" - but there is not nanoarrow folder for this header.
Not sure if you are officially maintaining brew formula, but some clarification on the proper read for headers would be useful. For different OSes.

Because I want to build the library that could be used by other users with different configurations and OSes.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the C API documentation and the macOS ARM Homebrew installation described in the issue, then compare the installed .a and .dylib symbols with the documented API using nm -gU. Clarify how bindings should locate or build nanoarrow, which headers and library paths are supported, and what the documented installation behavior should be across operating systems.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, macos
Domain
build-system, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.