Raspberry PI + GlusterFS (Part 2)

IMPORTANT: When running through the steps in Part 2 I encounter errors. Thanks to Ashley commenting I’ve created Part 3. I’ve decided to leave Part 2 intact for anyone searching on errors etc.

Hopefully you’ve read Part 1 and understood what I’m trying to do and why.

Here’s Part 2 attempting the install.
Part 3 Actually does the installation now.
Part 4 will cover the encryption and setup.
First things first, I (being naughty) use root far too much in testing, but do not recommend it all the way through on production servers.
So lets get into root
sudo su -
This should place you in root’s home direcoty.

You can Skip down to get past errors I encountered, but it’s possibly still worth reading the below which ended up not working.

Now we’re going to grab gluster 3.5.0

wget http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.0/glusterfs-3.5.0.tar.gz
tar xzvf glusterfs-3.5.0.tar.gz
cd glusterfs-3.5.0/
DON’T do this step yet. At this point I jumped straight into a configure attempt
./configure
This threw errors that I’m missing flex or lex
configure: error: Flex or lex required to build glusterfs.
Clearly I’m going to need to install a few dependencies before going further

apt-get update
apt-get install make automake autoconf libtool flex bison pkg-config libssl-dev libxml2-dev python-dev libaio-dev libibverbs-dev librdmacm-dev libreadline-dev liblvm2-dev libglib2.0-dev pkg-config
I’m not sure if all these are needed, but after digging around that’s the list that’s used elsewhere.
Actually reading the INSTALL file says to start with ./autogen.sh so this time we will
./autogen.sh
This took about 5 mins, but didn’t throw errors. Next onto
./configure
This eventually spits out
GlusterFS configure summary
===========================
FUSE client          : yes
Infiniband verbs     : yes
epoll IO multiplex   : yes
argp-standalone      : no
fusermount           : yes
readline             : yes
georeplication       : yes
Linux-AIO            : yes
Enable Debug         : no
systemtap            : no
Block Device xlator  : yes
glupy                : yes
Use syslog           : yes
XML output           : yes
QEMU Block formats   : yes
Encryption xlator    : yes
Now we can get on with the actually compiling

make
This threw a number of warnings for me
warning: function declaration isn’t a prototype [-Wstrict-prototypes]
But didn’t seem to be of great concern.
After about an hour it was ready to continue (I wrote Part 4 from memory while waiting).
We install with


make install

Here’s where I’m getting an error.


../../py-compile: Missing argument to --destdir.

So it’s on stop until I can figure out how to resolve it. one suggestion from version 3.4.x was to add the prefix path to the configure, but this didn’t do anything for me.

Move on to Part 3

7 thoughts on “Raspberry PI + GlusterFS (Part 2)”

    1. Great thanks for the info.
      I’ve been tied up for a few days so haven’t had chance to get back to it to try and work it out. I’ll try to get to it in the next few days. My fingers are crossed.

  1. Just landed here when searching for a way to install gluster-server v3.4 or higher on the raspberry pi :))

    Following now your procedure (Part 3) but with gluster-server 3.2.7 already running… Hopefully installation of gluster 3.5 will update everything. Otherwise, I will reinstall from scratch, what else…

    Thanks for posting :)))

    1. Cool hope everything works out well for you. I’m just in the middle of moving some drives around myself. Thanks for the comment, nice to know people actual read my stuff 🙂

  2. Pity, after running the last command in Part 3:
    debuild -us -uc

    I got some errors:
    Now running lintian…
    warning: the authors of lintian do not recommend running it with root privileges!
    W: glusterfs source: changelog-should-mention-nmu
    W: glusterfs source: source-nmu-has-incorrect-version-number 3.5.0-1
    W: glusterfs-common: package-name-doesnt-match-sonames libgfapi0 libgfchangelog0 libgfrpc0 libgfxdr0 libglusterfs0
    W: glusterfs-common: hardening-no-fortify-functions usr/lib/arm-linux gnueabihf/glusterfs/3.5.0/xlator/encryption/crypt.so.0.0.0
    W: glusterfs-common: hardening-no-fortify-functions usr/lib/arm-linux-gnueabihf/glusterfs/3.5.0/xlator/features/cdc.so.0.0.0
    W: glusterfs-common: hardening-no-fortify-functions usr/lib/arm-linux-gnueabihf/glusterfs/3.5.0/xlator/features/gfid-access.so
    W: glusterfs-common: hardening-no-fortify-functions usr/lib/arm-linux-gnueabihf/glusterfs/3.5.0/xlator/performance/md-cache.so
    W: glusterfs-common: hardening-no-fortify-functions usr/lib/arm-linux-gnueabihf/glusterfs/3.5.0/xlator/testing/performance/symlink-cache.so
    W: glusterfs-common: latest-debian-changelog-entry-without-new-version
    W: glusterfs-common: non-dev-pkg-with-shlib-symlink usr/lib/arm-linux-gnueabihf/libgfchangelog.so.0.0.0 usr/lib/arm-linux-gnueabihf/libgfchangelog.so
    W: glusterfs-common: unused-shlib-entry-in-control-file gfid access
    W: glusterfs-client: latest-debian-changelog-entry-without-new-version
    W: glusterfs-dbg: latest-debian-changelog-entry-without-new-version
    W: glusterfs-server: latest-debian-changelog-entry-without-new-version
    N: 24 tags overridden (2 errors, 18 warnings, 4 info)
    Finished running lintian.

    Anyway, I’ve tried to continue with following commands to finish the installation:
    make
    make install

    Obviously something’s gone wrong ’cause now I cannot run gluster:
    [email protected] ~ $ sudo gluster -V
    gluster: symbol lookup error: gluster: undefined symbol: xdr_gf1_cli_umount_rsp

    Any suggestion? If not, I will just try a clean installation.

    Thanks!!

    By the way, I’m Juan although I appear as Unknown in the comments 🙂

    1. Hi Juan,
      I’ve just run through a fresh install to check everything. I too had the “N: 24 tags overridden (2 errors, 18 warnings, 4 info)” output and continued with make and make install.
      After I started the gluster service with /etc/init.d/glusterd start I dropped root privileges,
      and then [email protected] ~ $ sudo gluster peer status
      This gives me the output “Number of Peers: 0” which is as expected.
      I don’t believe -V is a valid option, but I tried it [email protected] ~ $ sudo gluster -V
      This gives me the output “unrecognized word: -V (position 0)”
      So it’s a different error to yours, but seems about right.

      I did a quick google search on your error and nothing, but cutting it back to “gluster: symbol lookup error” gives a few things including
      http://lists.gnu.org/archive/html/gluster-devel/2013-01/msg00012.html
      This suggests there’s a mix of versions on the system, so I’d say a fresh system would probably resolve your issue.
      If you did install gluster with apt you could always try apt-get purge glusterfs-server to remove it. then do the make install again. but it’s a real guess sorry.
      Hope that’s been of some help at least.

Leave a Reply

Your email address will not be published. Required fields are marked *