duckdb
duckdb copied to clipboard
Undocumented OSX version dependency
What happens?
Versions 0.3.3 and 0.3.4 appear to have a hard requirement for macOS version 12 or higher. This is not documented in the release notes and does not appear to have a functional purpose but may just be an artifact of the build process.
It should either be fixed or documented.
This problem appears to have been introduced in version 0.3.3 associated with the change in platform from amd64 to universal.
$ ./duckdb dyld: Symbol not found: __ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv Referenced from: /Users/tdunning/./duckdb (which was built for Mac OS X 12.0) Expected in: /usr/lib/libc++.1.dylib
Abort trap: 6
To Reproduce
$ wget https://github.com/duckdb/duckdb/releases/download/v0.3.4/duckdb_cli-osx-universal.zip $ unzip duckdb_cli-osx-universal.zip $ ./duckdb
Environment (please complete the following information):
- OS: [e.g. iOS] macOS 11.6.2
- DuckDB Version: [e.g. 22] 0.3.3 and 0.3.4
- DuckDB Client: [e.g. Python] CLI
Before Submitting
- [ ] Have you tried this on the latest
masterbranch?
- Python:
pip install duckdb --upgrade --pre - R:
install.packages("https://github.com/duckdb/duckdb/releases/download/master-builds/duckdb_r_src.tar.gz", repos = NULL) - Other Platforms: You can find binaries here or compile from source.
This is platform specific and appears specific to the CLI package.
- [ ] Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?
Yes. Deterministic reproduction.
I have met the same issue when use bazel to build some c++ project, it's same error output
I think the cause of this issue is: C++ project was built on a high version macos (12.x +) and not specify -mmacosx-version-min, according to this answer on stackoverflow, it will affect the default choice of C++ STL implementation.
After I specify -mmacosx-version-min=10.15, issue fixed.
I have the same issue for CLI version 0.7.0 on Mac OS 11.6.8:
dyld: Symbol not found: __ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
Referenced from: ~/bin/duckdb (which was built for Mac OS X 12.6)
Expected in: /usr/lib/libc++.1.dylib
in ~/bin/duckdb
zsh: abort duckdb
Compiling latest version worked fine. Thanks!
Discussed also in #6307
Same problem. Compiling is taking a long time, so TBD if that solves the issue for me, but even if it does, it defeats the purpose of a "universal" precompiled binary. Perhaps the auto-build for the universal binary should be changed to statically link the necessary lib?
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days.
I have left this issue behind by upgrading my MacOS version. I have no idea if it still applies.
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days.
This issue was closed because it has been stale for 30 days with no activity.