Comments (8)
Ok, I searched the node mailing list and looks like this is caused by a 64 node vs 32 shared object. Or vice versa though I doubt it. Apparently node-gyp checks these sort of things and should be used instead of node-waf.
Quickfix: It should be possible to modify the node-waf leveldb build logic to force 64bit.
Proper fix: Start using node-gyp instead of node-waf.
Not sure when I'll get a chance to take a look at this more. Hopefully someone else will be to be to the punch.
from node-leveldb.
I couldn't get waf to work, think it's actually an issue with the universal binary having both versions... gyp looks promising though. The chromium project already has .gyp files for leveldb and snappy and those are the only deps.
from node-leveldb.
I had a go at adapting the chromium .gyp file for leveldb - https://github.com/pconstr/node-leveldb
It works (as in, it apparently passes the tests) for me on OS X 10.6.8 with node 0.8.1, but on Linux loading the library fails with an undefined symbol (_ZN7leveldb10WriteBatchC1Ev). I'm probably doing something silly.
I may find some time to pursue this a bit further in a few days but right now that's as far as I can go.
from node-leveldb.
I'm seeing that _ZN7leveldb10WriteBatchC1Ev stuff as well. This is mangled C++ function name, when you put it through c++filt you get:
leveldb::Options::Options()
So node is looking for this, but can't find it.
from node-leveldb.
I believe that's leveldb::WriteBatch::WriteBatch() (typo?)
'nm build/Release/leveldb.node' shows that symbol as undefined
U _ZN7leveldb10WriteBatchC1Ev
from node-leveldb.
a bunch of other leveldb symbols are undefined:
U _ZN7leveldb10ComparatorD2Ev
U _ZN7leveldb10WriteBatch3PutERKNS_5SliceES3_
U _ZN7leveldb10WriteBatch5ClearEv
U _ZN7leveldb10WriteBatch6DeleteERKNS_5SliceE
U _ZN7leveldb10WriteBatchC1Ev
U _ZN7leveldb10WriteBatchD1Ev
U _ZN7leveldb2DB4OpenERKNS_7OptionsERKSsPPS0_
U _ZN7leveldb6Status9CopyStateEPKc
U _ZN7leveldb7OptionsC1Ev
U _ZN7leveldb8RepairDBERKSsRKNS_7OptionsE
U _ZN7leveldb9DestroyDBERKSsRKNS_7OptionsE
U _ZNK7leveldb6Status8ToStringEv
from node-leveldb.
but 'nm build/Release/obj.target/leveldb/deps/leveldb/db/write_batch.o' finds the symbol:
00000000 T _ZN7leveldb10WriteBatchC1Ev
maybe we're missing a linker flag somewhere?
from node-leveldb.
This should be resolved now that #39 is closed.
from node-leveldb.
Related Issues (20)
- Switch to gitflow repository style HOT 6
- Collaborators wanted HOT 1
- npm install fails if coffee-script is already installed HOT 10
- demo/million.js is broken HOT 5
- share the same leveldb database between nodejs cluster processes HOT 3
- [request] Support synchronous open HOT 3
- makefile breaks during npm install HOT 3
- iterator should be a stream HOT 11
- Release new version to NPM HOT 1
- Check when iterator.forEach finished HOT 1
- coffee-script needs to be installed? HOT 3
- Random test failures HOT 4
- Fixes for 0.8 HOT 3
- Push to npm v0.8 compat version
- is snappy support really on? HOT 4
- random empty keys when iterating over a database HOT 5
- Fix build issues with node 0.10 HOT 9
- [0.10] Module can't be found? HOT 1
- Would you consider allowing the LevelUP team to take over "leveldb" in npm? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-leveldb.