[C++] Unable to build Arrow C++ on osx arm64 inside conda env because of Invalid configuration `arm64-apple-darwin20.0.0': machine `arm64-apple' not recognized and arrow/cpp/arm64-apple-darwin20.0.0-ar: No such file or directory
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 91
Description
Steps to reproduce this issue on osx arm64:
```bash
git clone https://github.com/apache/arrow.git
cd arrow/cpp
brew update && brew install node && brew bundle --file=Brewfile
cd ..
mamba create -y -n arrow-commit -c conda-forge \
--file ci/conda_env_unix.txt \
--file ci/conda_env_cpp.txt \
--file ci/conda_env_python.txt \
compilers \
python=3.8 \
pandas \
aws-sdk-cpp \
r
mamba activate arrow-commit
pip install -r python/requirements-build.txt -r python/requirements-test.txt
export ARROW_BUILD_TESTS=OFF
export ARROW_BUILD_TYPE=release
export ARROW_DEPENDENCY_SOURCE=AUTO
export ARROW_DATASET=ON
export ARROW_DEFAULT_MEMORY_POOL=mimalloc
export ARROW_ENABLE_UNSAFE_MEMORY_ACCESS=true
export ARROW_ENABLE_NULL_CHECK_FOR_GET=false
export ARROW_FLIGHT=OFF
export ARROW_GANDIVA=OFF
export ARROW_HDFS=ON
export ARROW_HOME=$CONDA_PREFIX
export ARROW_INSTALL_NAME_RPATH=OFF
export ARROW_MIMALLOC=ON
export ARROW_NO_DEPRECATED_API=ON
export ARROW_ORC=ON
export ARROW_PARQUET=ON
export ARROW_PLASMA=ON
export ARROW_PYTHON=ON
export ARROW_S3=ON
export ARROW_USE_ASAN=OFF
export ARROW_USE_CCACHE=ON
export ARROW_USE_UBSAN=OFF
export ARROW_WITH_BROTLI=ON
export ARROW_WITH_BZ2=ON
export ARROW_WITH_LZ4=ON
export ARROW_WITH_SNAPPY=ON
export ARROW_WITH_ZLIB=ON
export ARROW_WITH_ZSTD=ON
export GTest_SOURCE=BUNDLED
export ORC_SOURCE=BUNDLED
export PARQUET_BUILD_EXAMPLES=ON
export PARQUET_BUILD_EXECUTABLES=ON
export PYTHON=python
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH
ci/scripts/cpp_build.sh $(pwd) $(pwd)
```
Error (full logs are attached):
```java
...
checking size of void *... 8
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of intmax_t... 8
checking build system type...
-- stderr output is:
Invalid configuration `arm64-apple-darwin20.0.0': machine `arm64-apple' not recognized
configure: error: /bin/sh build-aux/config.sub arm64-apple-darwin20.0.0 failed
CMake Error at /Users/voltrondata/arrow/cpp/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-configure-RELEASE.cmake:47 (message):
Stopping after outputting logs.
[31/380] Performing configure step for 'orc_ep'
ninja: build stopped: subcommand failed.
```
**Reporter**: [Elena Henderson](https://issues.apache.org/jira/browse/ARROW-15459) / @ElenaHenderson
**Watchers**: [Rok Mihevc](https://issues.apache.org/jira/browse/ARROW-15459) / @rok
#### Original Issue Attachments:
- [logs](https://issues.apache.org/jira/secure/attachment/13039350/logs)
**Note**: *This issue was originally created as [ARROW-15459](https://issues.apache.org/jira/browse/ARROW-15459). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Reproduce the failure with the listed macOS arm64 Conda setup and start with ci/scripts/cpp_build.sh and the attached logs. Trace the jemalloc_ep and orc_ep configure steps where build-aux/config.sub rejects arm64-apple-darwin20.0.0. Done means the documented build completes successfully in this environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, macos
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100