Skip to content

Windows port #12

Closed
adamansky opened this Issue Dec 21, 2012 · 19 comments

7 participants

@adamansky
Softmotions member

No description provided.

@Ivshti
Ivshti commented Jan 16, 2013

Are there any particular technical problems preventing the port of EJDB to Windows? How hard it would be?

@adamansky
Softmotions member

Hi Ivo! Porting ejdb to windows is equivalent to porting of the tokyocabinet lib. Radim Kolar @hsn10 currently working to resolve this problem: https://github.com/hsn10/tokyocabinet-win Anyway we plan to port it during the next 3-4 months.

@kk86bioinfo

Hi, I check on tokyo-cabinet website and found out that they are recommending on using kyoto-cabinet which is better than tokyo-cabinet. Will there be any chance that ejdb be configure to change to using kyoto-cabinet engine?

@adamansky
Softmotions member

Hello! Kyoto cabinet is GPL licensed, so it cannot be linked with proprietary software. Tokyo Cabinet published under LGPL. LGPL license allows using it in commercial proprietary software. EJDB used in proprietary software and moving to kyoto will break GPL rules.

@hsn10
hsn10 commented Feb 21, 2013
@kk86bioinfo

Thanks for the explanation.

@Ivshti
Ivshti commented Mar 4, 2013

Are there any modifications (and what exactly) to the Tokyo Cabinet base used by EJDB? If I am to copy the original Tokyo Cabinet source into the tcejdb directory, would EJDB function correctly? If it will, copying the source from here https://github.com/hsn10/tokyocabinet-win might just do the trick.

@adamansky
Softmotions member

Yes, I've patched the core of TC lib. From this point I've started to work on windows port, hope it will be available within 1-1.5 months.

@Ivshti
Ivshti commented Apr 4, 2013

By the way, it might be a good idea to replicate the ejdb api in pure javascript over sqlite3 for anyone needing it in windows right away

@adamansky adamansky added a commit that referenced this issue Apr 16, 2013
@adamansky adamansky #12 All HDB tests passed 014304c
@adamansky adamansky added a commit that referenced this issue Apr 16, 2013
@adamansky adamansky #12 All BDB tests passed! b5a18e2
@adamansky adamansky added a commit that referenced this issue Apr 20, 2013
@adamansky adamansky #12 minors 739d9f1
@adamansky adamansky added a commit that referenced this issue Apr 20, 2013
@adamansky adamansky #12 e97efe8
@adamansky adamansky added a commit that referenced this issue Apr 21, 2013
@adamansky adamansky #12 added missing config.guess 24abfb9
@adamansky adamansky added a commit that referenced this issue Apr 22, 2013
@adamansky adamansky #12 40338e5
@adamansky adamansky added a commit that referenced this issue Apr 22, 2013
@adamansky adamansky #12 59ff0c1
@adamansky
Softmotions member

All dirty work on win32 porting is done. Now I'm tuning cross-compile env on linux to get dlls and then i'll pulish win packages.

@adamansky adamansky added a commit that referenced this issue Apr 25, 2013
@adamansky adamansky #12 e3edbc3
@adamansky
Softmotions member

All TokyoCabinet and EJDB API ported to Windows:
https://github.com/Softmotions/ejdb/blob/master/tcejdb/WIN32.md

@adamansky adamansky closed this Apr 25, 2013
@adamansky
Softmotions member
@jianhuashao

I am keeping geting this message, can you tell me why?

C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>npm install adm-zlib
npm http GET https://registry.npmjs.org/adm-zlib
npm http 404 https://registry.npmjs.org/adm-zlib
npm ERR! 404 'adm-zlib' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nod
ejs\node_modules\npm\bin\npm-cli.js" "install" "adm-zlib"
npm ERR! cwd C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR! code E404
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\npm-debug.lo
g
npm ERR! not ok code 0

C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>npm install

ejdb@1.1.24 preinstall C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\
node_modules\ejdb-node
node platform.js preinstall

Unzip archive 'ejdbdll\tcejdb-1.1.24-mingw32-x86_64.zip'
node-gyp ["configure","rebuild"]

C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\node_modules\ejdb-node>no
de "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_module
s\node-gyp\bin\node-gyp.js" configure rebuild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform
.Targets(23,7): error MSB8007: The Platform for project 'ejdb_native.vcxproj' i
s invalid. Platform='x64'. You may be seeing this message because you are tryi
ng to build a project without a solution file, and have specified a non-default
Platform that doesn't exist for this project. [C:\Users\psxjs4\Documents\GitHu
b\WebDownloadJobsManage\node_modules\ejdb-node\build\ejdb_native.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\
npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:784:
12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modu
les\node-gyp\bin\node-gyp.js" "configure" "rebuild"
gyp ERR! cwd C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\node_modules
\ejdb-node
gyp ERR! node -v v0.10.5
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok
node-gyp process exited with code 1
npm ERR! ejdb@1.1.24 preinstall: node platform.js preinstall
npm ERR! cmd "/c" "node platform.js preinstall" failed with 1
npm ERR!
npm ERR! Failed at the ejdb@1.1.24 preinstall script.
npm ERR! This is most likely a problem with the ejdb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node platform.js preinstall
npm ERR! You can get their info via:
npm ERR! npm owner ls ejdb
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nod
ejs\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! cwd C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\npm-debug.lo
g
npm ERR! not ok code 0

C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>
C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>npm install adm-zip
npm http GET https://registry.npmjs.org/adm-zip
npm http 304 https://registry.npmjs.org/adm-zip
adm-zip@0.4.3 node_modules\adm-zip

C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>npm install ejdb
npm http GET https://registry.npmjs.org/ejdb
npm http 304 https://registry.npmjs.org/ejdb

ejdb@1.1.24 preinstall C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\
node_modules\ejdb
node node/platform.js preinstall

Downloading windows binaries from: http://dl.dropboxusercontent.com/u/4709222/ej
db/tcejdb-1.1.24-mingw32-x86_64.zip ...
File: ejdbdll\tcejdb-1.1.24-mingw32-x86_64.zip
...............................................................................
................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

................................................................................

.............................................................
5083468 bytes received
Unzip archive 'ejdbdll\tcejdb-1.1.24-mingw32-x86_64.zip'
node-gyp ["configure","rebuild"]

C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\node_modules\ejdb>node "C
:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\nod
e-gyp\bin\node-gyp.js" configure rebuild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform
.Targets(23,7): error MSB8007: The Platform for project 'ejdb_native.vcxproj' i
s invalid. Platform='x64'. You may be seeing this message because you are tryi
ng to build a project without a solution file, and have specified a non-default
Platform that doesn't exist for this project. [C:\Users\psxjs4\Documents\GitHu
b\WebDownloadJobsManage\node_modules\ejdb\build\ejdb_native.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\
npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:784:
12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modu
les\node-gyp\bin\node-gyp.js" "configure" "rebuild"
gyp ERR! cwd C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\node_modules
\ejdb
gyp ERR! node -v v0.10.5
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok
node-gyp process exited with code 1
npm ERR! ejdb@1.1.24 preinstall: node node/platform.js preinstall
npm ERR! cmd "/c" "node node/platform.js preinstall" failed with 1
npm ERR!
npm ERR! Failed at the ejdb@1.1.24 preinstall script.
npm ERR! This is most likely a problem with the ejdb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node node/platform.js preinstall
npm ERR! You can get their info via:
npm ERR! npm owner ls ejdb
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nod
ejs\node_modules\npm\bin\npm-cli.js" "install" "ejdb"
npm ERR! cwd C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage\npm-debug.lo
g
npm ERR! not ok code 0

C:\Users\psxjs4\Documents\GitHub\WebDownloadJobsManage>

@adamansky
Softmotions member
@jianhuashao

Hi, I did "npm install adm_zip" before "npm install ejdb", and I got this error. No matter on Windows 7 or Windows XP, I get error on both OS. So I was wonder, whether you can provide a clear tutorial to show step-by-step for EJDB installation. Better to have screenshort to make clear. Thanks.

@adamansky
Softmotions member

Ok, going to check this problem. Thak you for report.

@adamansky
Softmotions member

Sorry bu cannot reproduce, I've tested ejdb npm module on

  • win xp 32. MSVC 2010 express (all commands was issued in msvc x86 cmd promt)
  • win 7 pro 64 MSVC 2012 express (all commands was issued in msvc x64 cmd promt) In both cases the latest nodejs installed in c:\NodesJS
   npm install adm-zip
   npm install ejdb

All commands completed smoothly.

@dalegaspi

trying to get this to install on Windows 2012 and this is the error i'm getting (this is after nstalled node-gyp nan module):

C:\Users\Administrator>npm install ejdb
|
> ejdb@1.2.6-1 preinstall C:\Users\Administrator\node_modules\ejdb
> node platform.js preinstall

Downloading windows binaries from: https://dl.dropboxusercontent.com/u/4709222/ejdb/ejdb-1.2.4-Release-Windows-x86.tar.gz ...
File: ejdbdll\ejdb-1.2.4-Release-Windows-x86.tar.gz
...............................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
...................................................................
2196740 bytes received
Unzip archive 'ejdbdll\ejdb-1.2.4-Release-Windows-x86.tar.gz'
node-gyp ["configure","rebuild"]

C:\Users\Administrator\node_modules\ejdb>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" configure rebuild )  else (configure rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  ejdb_native.cc
  ejdb_logging.cc
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xlocale(337): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc (..\ejdb_logging.cc) [C:\Users\Administrator\node_modules\ejdb\build\ejdb_native.vcxproj]
..\ejdb_native.cc(18): fatal error C1083: Cannot open include file: 'ejdb_private.h': No such file or directory [C:\Users\Administrator\node_modules\ejdb\build\ejdb_native.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "rebuild"
gyp ERR! cwd C:\Users\Administrator\node_modules\ejdb
gyp ERR! node -v v0.12.2
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
node-gyp process exited with code 1
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "ejdb"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.4
npm ERR! code ELIFECYCLE

npm ERR! ejdb@1.2.6-1 preinstall: `node platform.js preinstall`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ejdb@1.2.6-1 preinstall script 'node platform.js preinstall'.
npm ERR! This is most likely a problem with the ejdb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node platform.js preinstall
npm ERR! You can get their info via:
npm ERR!     npm owner ls ejdb
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Administrator\npm-debug.log
@adamansky adamansky reopened this Apr 19, 2015
@tyutyunkov
Softmotions member

We fixed building ejdb-node module for windows. Please, try install again.

@tyutyunkov tyutyunkov closed this Apr 20, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.