wbolster / plyvel

Plyvel, a fast and feature-rich Python interface to LevelDB
https://plyvel.readthedocs.io/
Other
529 stars 75 forks source link

Fix build on OSX, see #66 #67

Closed metachris closed 6 years ago

metachris commented 6 years ago

This adds some extra_compile_args if you are on OSX, which resolves the Symbol not found: __ZN7leveldb2DB4OpenERKNS_7OptionsERKSsPPS0_ issue. See also #66

ixje commented 6 years ago

I can confirm this patch solves the error mentioned above.

copying build/lib.macosx-10.6-intel-3.5/plyvel/_plyvel.cpython-35m-darwin.so -> plyvel
(venv) Eriks-Air:plyvel erik$ python -c 'import plyvel'
(venv) Eriks-Air:plyvel erik$ cd ..
(venv) Eriks-Air:code erik$ python -c 'import plyvel'
(venv) Eriks-Air:code erik$ python
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 08:49:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import plyvel
>>> plyvel.__
plyvel.__class__(        plyvel.__format__(       plyvel.__le__(

For completeness sake the version without the patch:

(venv) Eriks-Air:code erik$ pip install plyvel
Collecting plyvel
  Downloading plyvel-1.0.2.tar.gz (338kB)
    100% |████████████████████████████████| 348kB 2.4MB/s
Installing collected packages: plyvel
  Running setup.py install for plyvel ... done
Successfully installed plyvel-1.0.2
(venv) Eriks-Air:code erik$ python -c 'import plyvel'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/erik/Documents/code/plyvel/venv/lib/python3.5/site-packages/plyvel/__init__.py", line 6, in <module>
    from ._plyvel import (  # noqa
ImportError: dlopen(/Users/erik/Documents/code/plyvel/venv/lib/python3.5/site-packages/plyvel/_plyvel.cpython-35m-darwin.so, 2): Symbol not found: __ZN7leveldb2DB4OpenERKNS_7OptionsERKSsPPS0_
  Referenced from: /Users/erik/Documents/code/plyvel/venv/lib/python3.5/site-packages/plyvel/_plyvel.cpython-35m-darwin.so
  Expected in: flat namespace
 in /Users/erik/Documents/code/plyvel/venv/lib/python3.5/site-packages/plyvel/_plyvel.cpython-35m-darwin.so
(venv) Eriks-Air:code erik$
wbolster commented 6 years ago

thanks @metachris and @ixje

wbolster commented 6 years ago

https://plyvel.readthedocs.io/en/latest/news.html#plyvel-1-0-3

metachris commented 6 years ago

Awesome, thanks for releasing a new build so quickly!