oransel/node-talib

Installation problem in OS.X 10.9

SrikanthKS opened this issue · 10 comments

Hi

I am getting the following error while installing talib:

building talib functions...
child_process: customFds option is deprecated, use stdio instead.
child_process: customFds option is deprecated, use stdio instead.
CXX(target) Release/obj.target/talib/src/talib.o
../src/talib.cpp:42:15: error: expected class name
class Talib : ObjectWrap {
^
../src/talib.cpp:92:36: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
static Handle New(const Arguments& args) {
^~~~~~~~~
v8::internal::Arguments
/Users/skandalamsrinivasa/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
^
../src/talib.cpp:331:81: error: no type named 'AccessorInfo' in namespace 'v8'
static Handle GetFunctions(v8::Localv8::String property, const v8::AccessorInfo& info) {
~~~~^
../src/talib.cpp:378:40: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
static Handle Explain(const Arguments& args) {
^~~~~~~~~
v8::internal::Arguments
/Users/skandalamsrinivasa/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
^
../src/talib.cpp:394:40: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
static Handle Execute(const Arguments& args) {
^~~~~~~~~
v8::internal::Arguments

fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/talib/src/talib.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Darwin 13.4.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build"
gyp ERR! cwd /Users/skandalamsrinivasa/Documents/lab/node_modules/talib
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
npm ERR! Darwin 13.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "talib"
npm ERR! node v0.12.0
npm ERR! npm v2.5.1
npm ERR! code ELIFECYCLE

npm ERR! talib@0.4.2 preinstall: cd ./src/lib && node build.js && cd ../../ && node-gyp configure && node-gyp build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the talib@0.4.2 preinstall script 'cd ./src/lib && node build.js && cd ../../ && node-gyp configure && node-gyp build'.
npm ERR! This is most likely a problem with the talib package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! cd ./src/lib && node build.js && cd ../../ && node-gyp configure && node-gyp build
npm ERR! You can get their info via:
npm ERR! npm owner ls talib
npm ERR! There is likely additional logging output above.

talib@0.4.2 preuninstall /Users/skandalamsrinivasa/Documents/lab/node_modules/talib
rm -rf build/* && cd ./src/lib && node clean.js && cd ../../

cleaning talib...

npm ERR! Please include the following file with any support request:
npm ERR! /Users/skandalamsrinivasa/Documents/lab/npm-debug.log

I have tried uninstalling and installing npm but ended in vain. I have command line tools, xcode completely installed. Please point me in the right direction. Thank you!

Srikanth K S.

Please test 381668a. This fix will be pushed to npm soon.

Thank you for the quick response. Unfortunately I am getting the same error even after the new update!

Are you using the dev branch? You need to check out the latest dev and execute "npm install" in the root of the project.

Yes I am. I have tried "npm install" but it gives me the same error.

I don't have 10.9, but I doubt your OS version is the issue. If you are getting the same errors, you are still testing with the master branch.

Here is what I did to test:

$ git clone https://github.com/oransel/node-talib.git
Cloning into 'node-talib'...
remote: Counting objects: 877, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 877 (delta 2), reused 0 (delta 0), pack-reused 865
Receiving objects: 100% (877/877), 1.46 MiB | 117.00 KiB/s, done.
Resolving deltas: 100% (554/554), done.
Checking connectivity... done.

$ cd node-talib/
$ git checkout dev
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
$ npm install
/

talib@0.5.0 install /Users/oransel/Desktop/node-talib
node ./src/lib/build.js && node-gyp configure && node-gyp build

building talib functions...
child_process: customFds option is deprecated, use stdio instead.
child_process: customFds option is deprecated, use stdio instead.
CXX(target) Release/obj.target/talib/src/talib.o
SOLINK_MODULE(target) Release/talib.node
SOLINK_MODULE(target) Release/talib.node: Finished
nan@1.7.0 node_modules/nan

Thank you for the update. I have removed my master file and cloned it like you did. Tried npm install again but got the same error. Should I assume that it's completely the issue with OS? If so, what would you suggest the fix to be?

The issues you are referring to is from the old version of this library. If you look at the main file (https://github.com/oransel/node-talib/blob/dev/src/talib.cpp), there is no reference to ObjectWrap any more, which makes me believe that you are not still testing the latest dev branch.

I would suggest to wait until the update is pushed to npm, if you are unable to switch to the dev branch.

How do I make sure I am testing the dev branch? Doesn't cloning the dev branch make sure? Could you please let me know how long it might take for the push to happen to npm?

You need to execute git checkout dev. Please refer to my example above.

Aha! It works now. Turns out I wasn't checking out the dev branch all along like you pointed out. Thanks a lot for the constant help :)