apache / apache/arrow-nanoarrow
Bindings with C library
- 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