duckdb icon indicating copy to clipboard operation
duckdb copied to clipboard

Undocumented OSX version dependency

Open tdunning opened this issue 3 years ago • 1 comments
trafficstars

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 master branch?
  • 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.

tdunning avatar Jun 10 '22 23:06 tdunning

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.

joeshang avatar Jul 06 '22 07:07 joeshang

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!

cohenj-else avatar Feb 17 '23 12:02 cohenj-else

Discussed also in #6307

rsund avatar Feb 17 '23 17:02 rsund

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?

liquidaty avatar Mar 04 '23 19:03 liquidaty

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.

github-actions[bot] avatar Jul 30 '23 00:07 github-actions[bot]

I have left this issue behind by upgrading my MacOS version. I have no idea if it still applies.

tdunning avatar Jul 30 '23 01:07 tdunning

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.

github-actions[bot] avatar Oct 30 '23 00:10 github-actions[bot]

This issue was closed because it has been stale for 30 days with no activity.

github-actions[bot] avatar Nov 30 '23 00:11 github-actions[bot]