Skip to content

Building Erasure RPM Packages

Chris Cuming edited this page Oct 11, 2015 · 1 revision

NOTE: The Erasure libraries (gf-complete, jerasure, liberasurecode) are built by the ECLib NPM package, so these steps should be unecessary, including modifying $LD_LIBRARY_PATH.

NOTE: During the FanOut deployment, the process listed below generated RPM's that would enable a sucessfull npm install step, but FanOut would break at runtime, probably because the Erasure tools were missing from $LD_LIBRARY_PATH. At the time, we decided to fall back to building from source tarballs w/ Ansible. See Building Erasure Libs from Source for details.

CentOS 6.6 x86_64

Assumes login as root user.

Building an RPM with checkinstall

Install checkinstall

$ yum install -y rpm-build rpmdevtools
$ rpmdev-setuptree
$ wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm
$ rpm -i checkinstall-1.6.2-3.el6.1.x86_64.rpm

Build RPM

$ cd gf-complete # Copy over erasure.tar.gz to get all three source libs.
$ ./configure
$ checkinstall # RPM should be in ~/rpmbuild/RPMS/x86_64/gf-complete-1.x86_64.rpm

NOTE: Rinse and repeat for the other libs; run checkinstall instead of make && make install.

Install RPM

$ rpm -i ~/rpmbuild/RPMS/x86_64/gf-complete-1.x86_64.rpm