Closed ultraflynn closed 11 years ago
bcrypt can't compile on Windows, see: https://github.com/ncb000gt/node.bcrypt.js/issues/71
Unless we re-implement the password hashing using something that works across platform we're out of luck on this one. Open to ideas.
How difficult can it be to write a cross-platform passwird hasher.....
No idea I'm afraid. If someone wants to point me in the right direction I might give it a go though.
The recent push to the devel branch goes to bcrypt 0.7.x. Could you try if that works under windows; I will myself when I get around to it, but my current deployment is under ubuntu.
Sorry for the delay. I'll give that a try tonight.
This should now work, please let me know.
Sorry it's taken a while to test. Different error now:
C:\Users\Matt\Dropbox\GitHub\calipso-test>npm install calipso -g
npm http GET https://registry.npmjs.org/calipso
npm http 304 https://registry.npmjs.org/calipso
npm http GET https://registry.npmjs.org/ejs
npm http GET https://registry.npmjs.org/formidable
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/cluster
npm http GET https://registry.npmjs.org/step
npm http GET https://registry.npmjs.org/connect-mongodb
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/connect-form
npm http GET https://registry.npmjs.org/semver
npm http GET https://registry.npmjs.org/qs
npm http GET https://registry.npmjs.org/zipfile
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/connect
npm http GET https://registry.npmjs.org/jade
npm http GET https://registry.npmjs.org/bcrypt
npm http GET https://registry.npmjs.org/node-expat
npm http GET https://registry.npmjs.org/nconf
npm http GET https://registry.npmjs.org/stylus
npm http GET https://registry.npmjs.org/winston
npm http GET https://registry.npmjs.org/imagemagick
npm http GET https://registry.npmjs.org/request
npm http GET https://registry.npmjs.org/hook.io
npm http GET https://registry.npmjs.org/mailer
npm http GET https://registry.npmjs.org/pool
npm http GET https://registry.npmjs.org/knox
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/mongoose
npm http GET https://registry.npmjs.org/mongodb
npm http 304 https://registry.npmjs.org/ejs
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/cluster
npm http 304 https://registry.npmjs.org/formidable
npm http 304 https://registry.npmjs.org/connect-mongodb
npm http 304 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/colors
npm http 304 https://registry.npmjs.org/step
npm http 304 https://registry.npmjs.org/semver
npm http 304 https://registry.npmjs.org/connect-form
npm http 304 https://registry.npmjs.org/qs
npm http 304 https://registry.npmjs.org/zipfile
npm http 304 https://registry.npmjs.org/mime
npm WARN zipfile@0.3.1 dependencies field should be hash of
node-expat@1.4.5 install C:\Users\Matt\AppData\Roaming\npm\node_modules\calipso\node_modules\node-expat node-waf configure build
'node-waf' is not recognized as an internal or external command, operable program or batch file. npm ERR! error installing node-expat@1.4.5 npm ERR! error installing calipso@0.3.10 npm ERR! error rolling back calipso@0.3.10 Error: UNKNOWN, unknown error 'C:\Users\Matt\AppData\Roaming\npm\node_modules\calipso\node_modules___optimist.npm\package\test'
npm ERR! node-expat@1.4.5 install: node-waf configure build
npm ERR! cmd "/c" "node-waf configure build"
failed with 1
npm ERR!
npm ERR! Failed at the node-expat@1.4.5 install script.
npm ERR! This is most likely a problem with the node-expat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-waf configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls node-expat
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "install" "calipso" "-g"
npm ERR! cwd C:\Users\Matt\Dropbox\GitHub\calipso-test
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! code ELIFECYCLE
npm ERR! message node-expat@1.4.5 install: node-waf configure build
npm ERR! message cmd "/c" "node-waf configure build"
failed with 1
npm ERR! errno {}
npm http 304 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/nodemailer/0.1.20
npm ERR! Error: ENOENT, no such file or directory 'C:\Users\Matt\AppData\Roaming\npm\node_modules\calipso\node_modules_jade.npm\package\lib' npm ERR! You may report this log at: npm ERR! http://github.com/isaacs/npm/issues npm ERR! or email it to: npm ERR! npm-@googlegroups.com npm ERR! npm ERR! System Windows_NT 6.1.7601 npm ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "install" "calipso" "-g" npm ERR! cwd C:\Users\Matt\Dropbox\GitHub\calipso-test npm ERR! node -v v0.6.10 npm ERR! npm -v 1.1.0-3 npm ERR! path C:\Users\Matt\AppData\Roaming\npm\node_modules\calipso\nodemodulesjade.npm\package\lib npm ERR! fstream_path C:\Users\Matt\AppData\Roaming\npm\node_modules\calipso\node_modules_jade.npm\package\lib\doctypes.js npm ERR! fstream_type File npm ERR! fstream_class FileWriter npm ERR! code ENOENT npm ERR! message ENOENT, no such file or directory 'C:\Users\Matt\AppData\Roaming\npm\node_modules\calipso\nodemodulesjade.npm\package\lib' npm ERR! errno {} npm ERR! fstream_stack Object.oncomplete (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:161:23) npm ERR! npm ERR! Additional logging details can be found in: npm ERR! C:\Users\Matt\Dropbox\GitHub\calipso-test\npm-debug.log npm not ok
I see several problems under windows. Previously I had dependencies just under the modules that need them but it was necessary to move those to the root because core modules won't be "installed" and their "npm install" isn't run. However some of the problems you're running into a more basic than that: node-waf needs to be available and probably visual studio 2010 for some of the native modules. I need to gather my thoughts about allowing the main things to run without the native modules so that windows installs will run but without native modules. This might be a little harder. Thanks Andy
On Sep 9, 2012, at 3:18 PM, Matt Biggin notifications@github.com wrote:
Sorry it's taken a while to test. Different error now:
npm http GET https://registry.npmjs.org/calipso npm http 304 https://registry.npmjs.org/calipso npm http GET https://registry.npmjs.org/mongodb npm http GET https://registry.npmjs.org/connect-form npm http GET https://registry.npmjs.org/cluster npm http GET https://registry.npmjs.org/hook.io npm http GET https://registry.npmjs.org/knox npm http GET https://registry.npmjs.org/node-expat npm http GET https://registry.npmjs.org/imagemagick npm http GET https://registry.npmjs.org/mailer npm http GET https://registry.npmjs.org/connect-mongodb npm http GET https://registry.npmjs.org/jade npm http GET https://registry.npmjs.org/formidable npm http GET https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/pool npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/rimraf npm http GET https://registry.npmjs.org/zipfile npm http GET https://registry.npmjs.org/nconf npm http GET https://registry.npmjs.org/semver npm http GET https://registry.npmjs.org/step npm http GET https://registry.npmjs.org/colors npm http GET https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/underscore npm http GET https://registry.npmjs.org/ejs npm http GET https://registry.npmjs.org/bcrypt npm http GET https://registry.npmjs.org/winston npm http GET https://registry.npmjs.org/stylus npm http GET https://registry.npmjs.org/mongoose npm http 200 https://registry.npmjs.org/connect-form npm http GET https://registry.npmjs.org/connect-form/-/connect-form-0.2.1.tgz npm http 200 https://registry.npmjs.org/knox npm http GET https://registry.npmjs.org/knox/-/knox-0.0.11.tgz npm http 200 https://registry.npmjs.org/node-expat npm http GET https://registry.npmjs.org/node-expat/-/node-expat-1.4.5.tgz npm http 200 https://registry.npmjs.org/cluster npm http GET https://registry.npmjs.org/cluster/-/cluster-0.7.7.tgz npm http 200 https://registry.npmjs.org/imagemagick npm http GET https://registry.npmjs.org/imagemagick/-/imagemagick-0.1.2.tgz npm http 200 https://registry.npmjs.org/mailer npm http GET https://registry.npmjs.org/mailer/-/mailer-0.6.7.tgz npm http 200 https://registry.npmjs.org/hook.io npm http 200 https://registry.npmjs.org/connect-mongodb npm http GET https://registry.npmjs.org/connect-mongodb/-/connect-mongodb-1.1.5.tgz npm http GET https://registry.npmjs.org/hook.io/-/hook.io-0.8.11.tgz npm http 200 https://registry.npmjs.org/jade npm http 200 https://registry.npmjs.org/pool npm WARN pool@0.4.1 package.json: bugs['web'] should probably be bugs['url'] npm http 200 https://registry.npmjs.org/formidable npm http 200 https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz npm http GET https://registry.npmjs.org/connect/-/connect-2.3.9.tgz npm http 200 https://registry.npmjs.org/qs npm http 200 https://registry.npmjs.org/mongodb npm http 200 https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/mongodb/-/mongodb-0.9.9-8.tgz npm http GET https://registry.npmjs.org/mime/-/mime-1.2.7.tgz npm http 200 https://registry.npmjs.org/optimist npm http 200 https://registry.npmjs.org/request npm http 200 https://registry.npmjs.org/rimraf npm http 200 https://registry.npmjs.org/zipfile npm http 200 https://registry.npmjs.org/nconf npm http GET https://registry.npmjs.org/nconf/-/nconf-0.6.4.tgz npm http 200 https://registry.npmjs.org/semver npm http 200 https://registry.npmjs.org/async npm http 200 https://registry.npmjs.org/step npm http 200 https://registry.npmjs.org/colors npm http 200 https://registry.npmjs.org/underscore npm WARN zipfile@0.3.1 dependencies field should be hash of : pairs npm http 200 https://registry.npmjs.org/ejs npm http 200 https://registry.npmjs.org/bcrypt npm http 200 https://registry.npmjs.org/stylus npm http GET https://registry.npmjs.org/bcrypt/-/bcrypt-0.7.2.tgz npm http GET https://registry.npmjs.org/stylus/-/stylus-0.28.2.tgz npm http 200 https://registry.npmjs.org/express npm http 200 https://registry.npmjs.org/knox/-/knox-0.0.11.tgz npm http 200 https://registry.npmjs.org/winston npm http 200 https://registry.npmjs.org/node-expat/-/node-expat-1.4.5.tgz npm http GET https://registry.npmjs.org/express/-/express-3.0.0rc4.tgz npm http 200 https://registry.npmjs.org/cluster/-/cluster-0.7.7.tgz npm http 200 https://registry.npmjs.org/imagemagick/-/imagemagick-0.1.2.tgz npm http 200 https://registry.npmjs.org/mailer/-/mailer-0.6.7.tgz npm http 200 https://registry.npmjs.org/connect-form/-/connect-form-0.2.1.tgz npm http 200 https://registry.npmjs.org/mongoose npm http 200 https://registry.npmjs.org/connect-mongodb/-/connect-mongodb-1.1.5.tgz npm http 200 https://registry.npmjs.org/hook.io/-/hook.io-0.8.11.tgz npm http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz npm http 200 https://registry.npmjs.org/connect/-/connect-2.3.9.tgz npm http 200 https://registry.npmjs.org/mongodb/-/mongodb-0.9.9-8.tgz npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.7.tgz npm http 200 https://registry.npmjs.org/nconf/-/nconf-0.6.4.tgz npm http 200 https://registry.npmjs.org/bcrypt/-/bcrypt-0.7.2.tgz npm http 200 https://registry.npmjs.org/stylus/-/stylus-0.28.2.tgz npm http 200 https://registry.npmjs.org/express/-/express-3.0.0rc4.tgz npm http GET https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/mongodb
node-expat@1.4.5 install C:\Users\Matt\Dropbox\GitHub\calipso-test\node_modules\calipso\node_modules\node-expat node-waf configure build
npm http GET https://registry.npmjs.org/graceful-fs npm http GET https://registry.npmjs.org/nodemailer/0.1.20 npm http 304 https://registry.npmjs.org/connect npm http 304 https://registry.npmjs.org/mongodb npm http GET https://registry.npmjs.org/connect/-/connect-1.9.2.tgz npm http GET https://registry.npmjs.org/mongodb/-/mongodb-1.1.6.tgz 'node-waf' is not recognized as an internal or external command, operable program or batch file. npm ERR! error installing node-expat@1.4.5 npm ERR! error installing calipso@0.3.10 npm http GET https://registry.npmjs.org/commander/0.6.1 npm http GET https://registry.npmjs.org/range-parser/0.0.4 npm http GET https://registry.npmjs.org/cookie/0.0.4 npm http GET https://registry.npmjs.org/crc/0.2.0 npm http GET https://registry.npmjs.org/fresh/0.1.0 npm http GET https://registry.npmjs.org/methods/0.0.1 npm http GET https://registry.npmjs.org/send/0.0.4 npm http GET https://registry.npmjs.org/connect/2.4.4 npm http GET https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/mkdirp/0.3.3 npm http 200 https://registry.npmjs.org/graceful-fs
npm ERR! Error: ENOENT, no such file or directory 'C:\Users\Matt\Dropbox\GitHub\calipso-test\nodemodules\calipso\node_modules\cluster.npm\package\package.json' npm ERR! You may report this log at: npm ERR! http://github.com/isaacs/npm/issues npm ERR! or email it to: npm ERR! npm-@googlegroups.com npm ERR! npm ERR! System Windows_NT 6.1.7601 npm ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "install" npm ERR! cwd C:\Users\Matt\Dropbox\GitHub\calipso-test npm ERR! node -v v0.6.10 npm ERR! npm -v 1.1.0-3 npm ERR! path C:\Users\Matt\Dropbox\GitHub\calipso-test\node_modules\calipso\node_modules\cluster.npm\package\package.json npm ERR! fstream_path C:\Users\Matt\Dropbox\GitHub\calipso-test\node_modules\calipso\node_modules\cluster.npm\package\package.json npm ERR! fstream_type File npm ERR! fstream_class FileWriter npm ERR! fstream_finish_call chmod npm ERR! code ENOENT npm ERR! message ENOENT, no such file or directory 'C:\Users\Matt\Dropbox\GitHub\calipso-test\node_modules\calipso\node_modules_cluster.npm\package\package.json' npm ERR! errno {} npm ERR! fstream_stack Object.oncomplete (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:285:17) npm http 200 https://registry.npmjs.org/nodemailer/0.1.20 npm ERR! error rolling back calipso@0.3.10 Error: UNKNOWN, unknown error 'C:\Users\Matt\Dropbox\GitHub\calipso-test\node_modules\calipso\node_modules\bcrypt'
npm ERR! node-expat@1.4.5 install: node-waf configure build npm ERR! cmd "/c" "node-waf configure build" failed with 1 npm ERR! npm ERR! Failed at the node-expat@1.4.5 install script. npm ERR! This is most likely a problem with the node-expat package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-waf configure build npm ERR! You can get their info via: npm ERR! npm owner ls node-expat npm ERR! There is likely additional logging output above. npm ERR! npm ERR! System Windows_NT 6.1.7601 npm ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "install" npm ERR! cwd C:\Users\Matt\Dropbox\GitHub\calipso-test npm ERR! node -v v0.6.10 npm ERR! npm -v 1.1.0-3 npm ERR! code ELIFECYCLE npm ERR! message node-expat@1.4.5 install: node-waf configure build npm ERR! message cmd "/c" "node-waf configure build" failed with 1 npm ERR! errno {} npm ERR! npm ERR! Additional logging details can be found in: npm ERR! C:\Users\Matt\Dropbox\GitHub\calipso-test\npm-debug.log npm not ok
Reply to this email directly or view it on GitHub.
Let me know if I can do anything to help.
What version of node are you using? I am trying v0.8.8 64bit, Visual Studio 2010 and ActivePython 2.7.2 64bit first. If that has problem I'll switch to 32bit 0.8.8 and python 2.7.2. Thanks Andy
On Sep 9, 2012, at 6:11 PM, Matt Biggin notifications@github.com wrote:
Let me know if I can do anything to help.
— Reply to this email directly or view it on GitHub.
The problematic modules are:
bcrypt requires openssl include files but seems to attempt building with visual studio 2010. This is only used for the password hashing function.... maybe there is a better way. zipfile still uses node-waf... isn't some of this native in node? node-expat would require libexpat, maybe I need to look into another xml parser. Also still uses node-waf.
I don't have any more time today... but I'll keep this on the burner. The current thing I was working on was to support google, facebook and twitter auth.
Thanks Andy
On Sep 9, 2012, at 7:57 PM, Andreas Richter richtera@gmail.com wrote:
What version of node are you using? I am trying v0.8.8 64bit, Visual Studio 2010 and ActivePython 2.7.2 64bit first. If that has problem I'll switch to 32bit 0.8.8 and python 2.7.2. Thanks Andy
On Sep 9, 2012, at 6:11 PM, Matt Biggin notifications@github.com wrote:
Let me know if I can do anything to help.
— Reply to this email directly or view it on GitHub.
I'm current running v0.6.10
This is on a 64-bit machine but I'm sure for the build it's running 32-bit
I've just upgraded to the latest version so now it's node-v0.8.8-x64
Running against that version gave a bunch of errors, two spring out: 1/ node-waf missing 2/ need to "npm install mongodb --mongodb:native" - which I ran and that failed too on node-gyp
Do you have visual studio 2010 and python installed? They are needed for node gyp to work. I am trying to remove. The dependency of the three modules I found problematic but I think node gyp will be require to work. At most we can do something similar to mongoose where the native components are optional. Native modules on windows are not always supported by the npm community although the move from waf to gyp makes it more possible. Andy
Sent from my iPhone
On Sep 10, 2012, at 1:26 AM, Matt Biggin notifications@github.com wrote:
I'm current running v0.6.10
This is on a 64-bit machine but I'm sure for the build it's running 32-bit
I've just upgraded to the latest version so now it's node-v0.8.8-x64
Running against that version gave a bunch of errors, two spring out: 1/ node-waf missing 2/ need to "npm install mongodb --mongodb:native" - which I ran and that failed too on node-gyp
— Reply to this email directly or view it on GitHubhttps://github.com/cliftonc/calipso/issues/160#issuecomment-8414220.
Spent a while on this... just trying to get zipfile to work. There are some instructions on the github repo for zipfile but even using those I am kind of stuck between cmake and trying to download and compile libzlib. Hmmmm, maybe we need someone to convert those modules to run under windows natively (without heavy lifting.) I'll try to chip away at it but this is a larger project. Thanks Andy
On Sep 10, 2012, at 5:19 AM, Andy Richter andy@richteralsi.com wrote:
Do you have visual studio 2010 and python installed? They are needed for node gyp to work. I am trying to remove. The dependency of the three modules I found problematic but I think node gyp will be require to work. At most we can do something similar to mongoose where the native components are optional. Native modules on windows are not always supported by the npm community although the move from waf to gyp makes it more possible. Andy
Sent from my iPhone
On Sep 10, 2012, at 1:26 AM, Matt Biggin notifications@github.com wrote:
I'm current running v0.6.10
This is on a 64-bit machine but I'm sure for the build it's running 32-bit
I've just upgraded to the latest version so now it's node-v0.8.8-x64
Running against that version gave a bunch of errors, two spring out: 1/ node-waf missing 2/ need to "npm install mongodb --mongodb:native" - which I ran and that failed too on node-gyp
— Reply to this email directly or view it on GitHub.
I don't have VS2010 and python installed.
Thanks for looking into this. Please don't make this a huge priority on my behalf. If I really want this work work I will happily use Linux. If you need me to test things though just let me know. (Happy to implement stuff if you want to punt something my way, I'll do my best)
I am always testing Mac OS and Ubuntu. Most linux variations will also work anyway. Expat needs libexpat-dev which is kind of a pain. It would be good to either hand code a small XML parser or find one written in node only. For bcyrpt we could use crypto.pbkdf2(password, salt, iterations, keylen, callback) which is native in node. Not quite as good but no native parts required. For zipfile it would be nice to have but we might be able to refactor it as an optional package. It's really only used for the calipso command line (as far as I remember.) Making these three changes would allow this to run on windows. The real work would be to fork the three modules that don't work and fix them to compile under windows. Thanks Andy
On Sep 16, 2012, at 9:54 AM, Matt Biggin notifications@github.com wrote:
I don't have VS2010 and python installed.
Thanks for looking into this. Please don't make this a huge priority on my behalf. If I really want this work work I will happily use Linux. If you need me to test things though just let me know. (Happy to implement stuff if you want to punt something my way, I'll do my best)
— Reply to this email directly or view it on GitHub.
The full "npm install -g calipso" then "calipso site sampleSite" doesn't work yet but the master branch now can be installed under windows. git clone, npm install, bin/calipso server I tested it under windows 7. Several modules are now optionally loaded but there are a few things left to do to make the "calipso site" command and some other ones work under windows. But I think this is a good first step. I need to do a little more testing before publishing the npm itself.
This now works.
Tested under windows 8.
Steps.
Install Mongo (I installed it as a service)
Install git (add git sh.exe to the path or use cygwin; this is a requirement from npm since it uses sh to wrap command lines that were under sh under unix, there is currently no way to have a "windows specific" bin file using a cmd or bat file. There file is there but you'd have to make it available manually. In the git repo it's bin/calipso.cmd; replacing the npm installed calipso.cmd with this one would work without sh.exe)
Install nodejs
npm install -g calipso
calipso site
Let me know how it goes.
Also tested on Mac OS X
Also tested ubuntu... noticed defect. The correct version is calipso@0.3.14 or greater.
bcrypt is optional (will use it if it exists or crypto.pbkdf2 instead) node-expat has been removed (using node-xml instead) zipfile has been removed (using adm-zip instead)
I just tried installing calipso on Windows and got the following error:
npm http GET https://registry.npmjs.org/wordwrap
rm -f bcrypt_lib.node
make: rm: Command not found
Makefile:18: recipe for target `clean' failed
make: *\ [clean] Error 127
npm ERR! error installing bcrypt@0.5.0