snowflakedb / snowflakedb/snowflake-connector-python
SNOW-3818968: Does not compile out of the box on FreeBSD due to \"ENODATA not defined in errno.h\"
Open
@sfc-gh-snow-drivers-warsaw-dl is already working on this.
Since Jul 28, 2026.
bug
status-triage_done
- Dominant language
- Python
- Stars
- 730
- Forks
- 574
- Avg merge
- 5h 45m
- Merged PRs (30d)
- 16
Description
Python version
Python 3.10.20 (main, Jun 20 2026, 01:08:14) [Clang 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd7080
Operating system and processor architecture
FreeBSD-14.4-STABLE-amd64-64bit-ELF
Installed packages
build==1.5.0
cachetools==7.1.4
certifi==2026.2.25
charset-normalizer==3.4.6
colorama==0.4.6
Cython==3.2.8
distlib==0.4.3
filelock==3.31.2
idna==3.11
maturin==1.14.1
meson==1.10.2
packaging==26.2
platformdirs==4.10.1
pluggy==1.6.0
pyproject-api==1.10.1
pyproject_hooks==1.2.0
python-discovery==1.4.4
requests==2.32.5
sqlite3==3.10.20
tomli==2.4.1
tomli_w==1.2.0
tox==4.57.2
truststore==0.10.4
typing_extensions==4.16.0
urllib3==2.6.3
virtualenv==21.6.1
What did you do?
Building a wheel from source, fails to compile because there is no ENODATA on FreeBSD:
src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c:1135:17:
warning: code will never be executed [-Wunreachable-code]
1135 | if (!(vt_ = reserve_buffer(B, flatcc_builder_alloc_vb,
B->vb_end, vt_size,
| ^~~~~~~~~~~~~~
1 warning generated.
src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c:32046:12:
error: use of undeclared identifier 'ENODATA'
32046 | return ENODATA;
| ^
src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c:33031:12:
error: use of undeclared identifier 'ENODATA'
33031 | return ENODATA;
| ^
src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c:33183:17:
error: use of undeclared identifier 'ENODATA'
33183 | if (result == ENODATA) {
| ^
3 errors generated.
What did you expect to see?
Wheel file.
Can you set logging to DEBUG and collect the logs?
N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.