1 Reply Latest reply on Apr 27, 2015 3:09 PM by mhahn

    Is it possible to use MongoDB on Yocto (running on Galileo Gen. 1)?

    Malutek

      Hi,

       

      I'm using Intel Galileo Gen. 1 board running Yocto (Linux 3.8.7-yocto-standard i586).

       

      What I want to achieve is to run simple http server on node.js. Node will collect quite a lot data from various sensors (via WS), so I wan to use a MongoDB to store it. Unfortunately I have failed to get it up and running. I tried to run binary release (32-bit for Linux) from MongoDB site, but mongod crashes with obvious message "Illegal instruction". I googled a little bit and found some RPMs that were supposed to be compiled for i586 but they didn't work as well.

       

      I read somewhere, on this forum, that Galileo does not provide a full instruction set (as opposed to Edison). So, is Galileo capable of hosting MongoDB? If yes, could you please point me a little bit what should I do to make it work. If not - what would be best alternative for me? NoSQL preferably? Or just sqlite?

       

      Thanks in advance for your replies.

        • 1. Re: Is it possible to use MongoDB on Yocto (running on Galileo Gen. 1)?
          mhahn

          what do you mean by "full instruction set"? Intel(R) Quark(TM) is a "full" x86 instruction set (Pentium instruction set). Which means it doesn't come with SSE, ...

          Often binaries nowadays assume at least SSE2 which is obviously not available on Quark.

          That said there is another thing preventing you from just taking binary packages (even on Edison you might run into issues).

          Binaries would typically assume glibc. Whereas the default Edison Yocto comes with eglibc which is close to glibc (and hence binaries might just work) you might have a uclibc based image on your Galileo which is not so close to glibc - unless you use the Intel IoT developper kit SD card image for Galileo which is as well eglibc based.

          Anyways, you most likely will have to compile for Galileo - either on the target, or in a chroot (e.g. chrooting in the target SD card) or in a Yocto build environment. With that it should be possible in principle to compile Mongo for Galileo. However, I am not so sure on the requirements - I think Mongo is quite huge, isn't it?

          Not sure about CouchDB or other alternatives