Rum meteor on Raspberry pi (ARM6)

1,417 views
Skip to first unread message

thomas.co...@gmail.com

unread,
Feb 25, 2013, 7:03:49 AM2/25/13
to meteo...@googlegroups.com
Hello,
I tried to install meteorJS on my raspberry pi  and I get this error during the installation :
"Unable to install on unsupported architecture Meteor: armv6l
Installation failed. ".

There is a solution by modifying the file "admin/generate-dev-bundle.sh" on the meteor core to regenerate the bundle, but what should we put in this file?

Do you have another solution?

Thank you

Julien Chaumond

unread,
Feb 25, 2013, 8:17:21 AM2/25/13
to meteo...@googlegroups.com
If you manage to run it, I'd be very interested to know what kind of performance you get!

Julien

--
You received this message because you are subscribed to the Google Groups "meteor-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meteor-talk...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Tim

unread,
Feb 25, 2013, 11:42:37 AM2/25/13
to meteo...@googlegroups.com
I second this. I'd be quite interested to hear how this works out.

steeve

unread,
Feb 25, 2013, 11:49:25 AM2/25/13
to meteo...@googlegroups.com
Me too, just placed my order for a Pi today.

I am also going to try it out on these devices too because they have more horsepower than a Pi and a lower footprint.

I will report what I find.

steeve

unread,
Feb 25, 2013, 12:40:00 PM2/25/13
to meteo...@googlegroups.com
It might be interesting to see if anyone else tries stuff out on other microdevices like beagleboards or even usb linux distros.  

Dror Matalon

unread,
Feb 25, 2013, 12:49:36 PM2/25/13
to meteo...@googlegroups.com

You need node.js and mongodb to work raspberry pi. A quick search shows that there might be an initial port of node.js but none of mongo. Seeing that these devices are ARM, not x86 based, it's not going to be trivial.

--

steeve

unread,
Feb 25, 2013, 12:56:34 PM2/25/13
to meteo...@googlegroups.com
Beagleboards come with node already on it (and cloud9 ide).
You could host the mongo externally at first.
Though there does appear to be some success on the Rasberry Pi.
See this thread which was sparked from SheevaPlug ideas.

cut & paste of lsat couple of comments.....
Timothy Turner added a comment - 

So, has Mongodb 2.x been successfully installed on ARMv5? In my case I am using Raspberry Pi. I added the patch to atomic_int.h and have passed that error however it failed at another point. I am using ArchLinuxArm and I don't mind switching to debian if that is working.

Thanks.

Timothy Turner added a comment - 

I was able to to get mongo v2.1.1 installed on the Raspberry Pi Using the help listed here form soywiz. I am working on getting a more stable version installed on the pi v2.0.7. I have been working with Arch Linux Arm. The issues with 2.0.7 have been with boost. Also, I attempted to install v2.2.0 however there was to much inline asm to covert from x86 to arm. I don't know enough about assembly to convert for different architecture types. For ARMv5 in Arch Linux Arm with boost 1.5.0 and mongodb v2.1.1 it was a matter of converting all instances if UTC_TIME to UTC_TIME_ for boost and adding another line of code in to atomic_int.h for asm memory barrier for AtomicUInt::SET function.


Julien Chaumond

unread,
Feb 25, 2013, 1:01:27 PM2/25/13
to meteo...@googlegroups.com
Some hosted Mongo providers claim they'll support any data center you'll deploy your apps to, so maybe you can take them up on that claim and ask if they'll support your Raspberry PI cloud service? :)

Harold

unread,
Apr 3, 2013, 1:27:03 PM4/3/13
to meteo...@googlegroups.com
Wanted to try and bring this topic back from the grave. I'm aware that ARM is not officially supported, but I was hoping to get some response from enthusiasts or anyone else who may have some insight into the particular wall I'm hitting.

I have successfully "installed" Meteor (Bundle 0.2.23) on my Raspberry Pi running a pre-compiled version of Node (v0.8.18) and a previously compiled by me version of MongoDB (v2.1.1).

I edited my generate-dev-bundle.sh to reference those differences. I edited the meteor file so that the ARM arch wouldn't cause it to exit. The remaining functionality remains untouched as far as I can tell. I was able to generate the bundle and run install without any problems. As far as I can tell I can create a project without issue. When I true to run meteor inside the project directory I get 3 SIGBUS signals and a warning that my app is crashing. The output is below. Please let me know if there is anything else that I can provide to help troubleshoot this further.

Harold

unread,
Apr 3, 2013, 1:28:56 PM4/3/13
to meteo...@googlegroups.com
Output that I forgot to include in my last post.

pi@raspberrypi ~/test-app $ meteor
Hahaha... Running Meteor on unsupported architecture: armv6l
[[[[[ ~/test-app ]]]]]

Exited from signal: SIGBUS
Exited from signal: SIGBUS
Exited from signal: SIGBUS
Your application is crashing. Waiting for file change.

Dror Matalon

unread,
Apr 3, 2013, 1:34:35 PM4/3/13
to meteo...@googlegroups.com
You need to figure out what's generating the fault,
http://en.wikipedia.org/wiki/Segmentation_fault.

See if you can get a dump, http://en.wikipedia.org/wiki/Core_dump

and then use gdb to get a stack trace that will tell you where in the
code things got ugly.

Harold

unread,
Apr 3, 2013, 3:49:56 PM4/3/13
to meteo...@googlegroups.com
Thanks for the response, Dror! You scared me a little when you posted that three letter word, gdb. Been quite a few years since I've touched it. ;-)

I was a little worried at the thought of running gdb with meteor given that it is not a compiled program (executable). Is this why I didn't get much info from gdb, or am I not finding value in what was returned?

pi@raspberrypi ~/test-app $ gdb meteor core
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
For bug reporting instructions, please see:
"/usr/local/bin/meteor": not in executable format: File format not recognized
[New LWP 8559]
[New LWP 8560]
Core was generated by `/usr/local/meteor/bin/node /home/pi/test-app/.meteor/local/build/main.js --keep'.
Program terminated with signal 7, Bus error.
#0  0xb6bf8bd8 in ?? ()
(gdb) quit

Dror Matalon

unread,
Apr 3, 2013, 4:26:25 PM4/3/13
to meteo...@googlegroups.com
Well, sometimes you need to get your hands dirty :-).

So meteor is just a node.js program.

As indicated from the core dump, it's node that's crashing. So you
need to gdb node, and then run it with the correct args in gdb.
It'll be something like
run /usr/lib/meteor/app/meteor/meteor.js -p 3000

By the way, if I had to guess, I would suspect a problem with the
Fiber library. Double check that node isn't using Meteor's built in
386 library.
In general, check to see that Meteor doesn't have any shared
libraries. On my system it's using
/usr/lib/meteor/lib/node_modules/fibers/bin/linux-ia32-v8-3.11/fibers.node
which is a 386

And doing
file `find /usr/lib/meteor/lib/node_modules -name '*node'`

shows a whole bunch of 386 specific files.

Tarang Patel

unread,
Apr 3, 2013, 4:32:26 PM4/3/13
to meteo...@googlegroups.com
I've managed to get it working compiling everything from scratch a while back, it does take quite a long time, it wasn't with the latest version, i had a bit of trouble with fibers at first

 mongodb seems to really consume every bit of RAM it can get its hands on which really impacts performance! its a bit slow to start but it does work fine after. I also tried bundling it, which has to be done on the device due to the arm thing and using a seperate mongodb instance but I ran into more trouble. 

Harold

unread,
Apr 4, 2013, 11:17:27 AM4/4/13
to meteo...@googlegroups.com
Tarang,
Please share any tips you can offer! I've noticed that everything slows down a bit when I simply start MongoDB. I've considered running it on another machine I have to the side, but initially I wanted to get everything running exclusively on the Pi. Did you run Meteor on the 256 or 512 Pi?

Dror,
Definitely ready to play in the mud. Some side discussion... I have a degree in Computer Science, however my career opportunity hasn't allowed me to utilize it from the moment of graduation. In my free time, my wife would rather I give my attention to her instead of my computer. All that being said, I'm not just trying to get Meteor to work. I'm trying to learn from this whole experience. :-)

Shortly after I posted last time I had the realization regarding Node being the actual executable. Better late than never I guess.

I gdb-ed node from the project folder and did:
run /usr/local/meteor/app/meteor/meteor.js -p 3000
... and got:
Error: Cannot find module 'fibers'
... for an answer. The current path did not change the answer I got back from execution.

/usr/local/meteor/lib/node_modules/fibers/
... exists so I'm not sure why node is failing to find the fibers package.I ran the test.js file while I was poking around and everything passed except for the pool test.

Running:
find /usr/local/meteor/lib/node_modules/ -name *.node
... gave:
/usr/local/meteor/lib/node_modules/fibers/build/Release/fibers.node
/usr/local/meteor/lib/node_modules/fibers/build/Release/obj.target/fibers.node
/usr/local/meteor/lib/node_modules/fibers/bin/linux-arm-v8-3.11/fibers.node
/usr/local/meteor/lib/node_modules/kexec/build/Release/obj.target/kexec.node
/usr/local/meteor/lib/node_modules/kexec/build/Release/kexec.node
/usr/local/meteor/lib/node_modules/mongodb/node_modules/bson/build/Release/bson.node
/usr/local/meteor/lib/node_modules/mongodb/node_modules/bson/build/Release/obj.target/bson.node
/usr/local/meteor/lib/node_modules/mongodb/node_modules/bson/ext/win32/ia32/bson.node
/usr/local/meteor/lib/node_modules/mongodb/node_modules/bson/ext/win32/x64/bson.node
/usr/local/meteor/lib/node_modules/websocket/build/Release/validation.node
/usr/local/meteor/lib/node_modules/websocket/build/Release/xor.node
/usr/local/meteor/lib/node_modules/websocket/build/Release/obj.target/validation.node
/usr/local/meteor/lib/node_modules/websocket/build/Release/obj.target/xor.node
...The only thing that I saw which stated anything related to different architecture was in bson. I'm guessing this is related to the fact that I generated my own build package.

Thanks for sharing info that got us this far. I'll keep picking around online until I get some more clues. :-)

David Ascher

unread,
Apr 4, 2013, 11:33:47 AM4/4/13
to meteo...@googlegroups.com

I too spent some time poking around getting meteor to run on a pi 512 and the pcduino. I find the prospect very interesting (see blog post at http://blog.ascher.ca/2013/03/07/decentralization/). I've not had meaningful success yet.

That said I feel like mongo isn't really thinking about small devices as part of its bailiwick.  Makes me wonder whether the meteor sql work with a lightweight sql db might be a better fit, even sqlite?

--da

Dror Matalon

unread,
Apr 4, 2013, 2:03:32 PM4/4/13
to meteo...@googlegroups.com
I heard rumors that someone made Meteor work with SQL :-).

So far it's MySQL specific, but I wonder how much work it'd be to port
it to sqlite.

>
> That said I feel like mongo isn't really thinking about small devices as
> part of its bailiwick. Makes me wonder whether the meteor sql work with a
> lightweight sql db might be a better fit, even sqlite?
>
> --da
>

Tarang Patel

unread,
Apr 4, 2013, 4:13:34 PM4/4/13
to meteo...@googlegroups.com
Hi Harold,

Yes I was thinking of making a blog post or something on how to get it running its quite a pain. I was using the 256 one which is why i think mongo was being a real pain. Initially I couldn't get it working but I tried to get the bundle working without mongo and there was something I removed and put back & installed that seemed to have helped get meteor running but not the bundled one, but I'm not sure what it was. The pi was really slow and it was quite frustrating.

I've ordered the 512 pi, ill retry and hit back with a full blog post as I install it from scratch.

Harold

unread,
Apr 4, 2013, 6:59:50 PM4/4/13
to meteo...@googlegroups.com
Sounds great! I look forward to reading about your experience! :-)

Aric Fedida

unread,
Oct 10, 2013, 1:07:37 AM10/10/13
to meteo...@googlegroups.com
I was wondering if any of you guys have made any progress with this.
I'm trying on an ARMv7l platform (Olinuxino), which has 512mb RAM.

I have mongodb installed and working, as well as Fibers with the arm specific binary, which built successfully.
In addition, I ran the fibers test.js file and most tests pass (the ones who don't are known issues, such as stack-overflow2.js).

Here's the output from 'npm version':

{http_parser: '1.0',

 node: '0.10.19',
 v8: '3.14.5.9',
 ares: '1.9.0-DEV',
 uv: '0.10.17',
 zlib: '1.2.3',
 modules: '11',
 openssl: '1.0.1e',
 npm: '1.3.11' }

I run: 'meteor create myapp; cd myapp; meteor'

This is the error I get:

[[[[[ ~/myapp ]]]]]

/opt/meteor/dev_bundle/lib/node_modules/fibers/future.js:173
                                                throw(ex);
                                                      ^
TypeError: Arguments to path.join must be strings
    at path.js:360:15
    at Array.filter (native)
    at Object.exports.join (path.js:358:36)
    at /opt/meteor/tools/bundler.js:1423:20
    at Function._.each._.forEach (/opt/meteor/dev_bundle/lib/node_modules/underscore/underscore.js:87:24)
    at writeSiteArchive (/opt/meteor/tools/bundler.js:1415:7)
    at /opt/meteor/tools/bundler.js:1766:20
    at Object.capture (/opt/meteor/tools/buildmessage.js:175:5)
    at Object.exports.bundle (/opt/meteor/tools/bundler.js:1545:31)
    at /opt/meteor/tools/run.js:514:32
    at /opt/meteor/tools/fiber-helpers.js:24:12

Any help with this will be greatly appreciated!

Jan Kowalski

unread,
Nov 8, 2013, 7:11:35 PM11/8/13
to meteo...@googlegroups.com
Hi,

I recently took a part in closed beta test of http://enteye.com 
It allows to easily integrate any device with your meteor app 

Maybe it will help
Reply all
Reply to author
Forward
0 new messages