arboleya / electrify

Package your Meteor apps with Electron, and butter
MIT License
247 stars 52 forks source link

Issue starting mongod - default storage engine not available #61

Open cosmin-novac opened 8 years ago

cosmin-novac commented 8 years ago

I'm packaging an app on Windows 7 64bit. The packaging is successful, but I receive the following error upon starting the app:

2016-07-28T14:33:02.350+0200 I STORAGE [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine 'wiredTiger' is not available with this build of mongod. Please specify a different storage engine explicitly, e.g. --storageEngine=mmapv1., terminating

Any ideas? Here are some extra infos (most notably the db version and the 32 bit server mention):


[main] Hotfix KB2731284 or later update is not installed, will zero-out data files
[initandlisten] MongoDB starting : pid=14288 port=27017 dbpath=C:\data\db\ 32-bit host=DUSGRMLT776
[initandlisten] targetMinOS: Windows Vista/Windows Server 2008
[initandlisten] db version v3.2.6
[initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
[initandlisten] allocator: tcmalloc
[initandlisten] modules: none
[initandlisten] build environment:
[initandlisten]     distarch: i386
[initandlisten]     target_arch: i386
[initandlisten] options: {}
cosmin-novac commented 8 years ago

The weird thing is, this only happens when I use "electrify package" and it uses the mongo acquired by electrify. If I only use "electrify", so that it uses the mongodb offered by meteor, then the app works flawlessly.

Any help?

taliyahpottruff commented 8 years ago

I'm getting the same error.

taliyahpottruff commented 8 years ago

I found a working temporary solution, although I hope it gets fixed. My speculation is that since the latest version of electrify is using an older version of MongoDB that it's bundling that older version into the app. My solution is to download the Mongo binaries from https://www.mongodb.com/download-center#community under All Version Binaries. Make sure you download the latest version. Inside of the archive you download navigate to the bin folder and copy mongod.exe or the equivalent OS file to ./resources/app/bin of your built app. I personally have only tested replacing mongod.exe but it might be a good idea to replace mongo.exe as well.

image image image image

k4rz4 commented 8 years ago

Are you sure it is 3.2.8? That did not helped me. Do someone has other solution?

k4rz4 commented 8 years ago

I have found the solution, Meteor uses mongo 3.2.6. Download binaries for 3.2.6 you will see that they are diffrent sizes and you have to extract mongod.exe and mongo.exe. When i started mongod.exe i got error that libeay32.dll and ssleay32.dll are missing you can find them in installed mongodb directory for me "Program Files/MongoDb/server/bin/" and just copy them to app/bin

aboire commented 8 years ago

yep or download here https://indy.fulgan.com/SSL/

harishreddy-m commented 7 years ago

I tried above steps Copying mongo,mongo binaries from 3.0.10 version as my mongo server is 3.0.10 Got the .dll error Copied the dll files to .electrify/bin

App starting is stuck at starting mongo... When I tried to run bin/mongo it is giving some error with memory address in it.

harishreddy-m commented 7 years ago

I repeated above steps with resources/app/bin folder too. Same problem stuck at "starting mongo..."

mertyildiran commented 7 years ago

@TrentonPottruff Your solution seems reasonable but for me just like other comments it's stuck at starting mongo...

Do you have any idea?

mertyildiran commented 7 years ago

@arboleya Could you take a look to this issue. I think this is important.

mertyildiran commented 7 years ago

As @TrentonPottruff and @k4rz4 mentioned above, to make things more clear:

As of Meteor 1.4, it's using MongoDB version 3.2.6 (Announcing Meteor 1.4)

So you need exactly these binaries: win32/mongodb-win32-x86_64-2008plus-3.2.6.zip (Official)

Extract files from the zip archive then copy mongod and mongo binaries and paste into ./resources/app/bin

So temporarily solved but @arboleya needs to fix that eventually.

xlinbsd commented 7 years ago

Hi, Mongodb's WiredTiger engine is only supported on 64bits, that can explain some worries. It seems quite impossible to use electrify to package on recent meteor on 32bits systems for this simple reason.

xlinbsd commented 7 years ago

@mertyildiran, arboleya do not seems alive on this project since a lot of time.

An undirect fork is here to maintain a bit this useful tool. It have problems too, but who now, if we press gently its maintainer, it can become a more useful update.

mertyildiran commented 7 years ago

@xlinbsd Thanks for mention that.

xlinbsd commented 7 years ago

I just did a full success packaging with mongodb 3.2.6 but not the SSL version on Win7 64bits and meteor 1.4.2.3 of a quite complex project with some npm dependencies.

mongodb-win32-x86_64-2008plus-3.2.6.zip

The ssl version cannot work for me, SSL dll not working either.

technicalforum commented 7 years ago

You can use mongod --storageEngine=mmapv1 --dbpath "Your Path". For more details Please go through https://technicalforum.wordpress.com/2016/12/10/mongodb-tutorial-part1/

iaroshvictor commented 7 years ago

Use the 3.2.12 version of Mongo

Mairu commented 7 years ago

I have created a fork that uses the mmapv1 storage engine on windows to solve this problem.