Erasure Code API library written in C with pluggable Erasure Code backends.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tim Burke f592409bcc Release 1.6.3 4 months ago
doc re-org of README 5 years ago
include Release 1.6.3 4 months ago
playbooks Add FIPS jobs 9 months ago
roles CI: Use https:// instead of git:// when cloning ISA-L 4 months ago
src Add build-time option to suffix library names sent to dlopen 9 months ago
test Add a few coverage for legacy crc code 2 years ago
.gitignore Remove remaining m4/ references 7 years ago
.gitreview Update .gitreview following project rename 3 years ago
.mailmap Release 1.6.2 2 years ago
.zuul.yaml Make arm64 jobs voting 8 months ago
AUTHORS Release 1.6.2 2 years ago
COPYING Reformat license file 2 years ago
ChangeLog Release 1.6.3 4 months ago Fix building with LD_LIBRARY_PATH set 4 years ago
NEWS Add NEWS and README back 6 years ago
README Add NEWS and README back 6 years ago Include pointers to launchpad, ML, IRC in README 8 months ago autoconf: Add Xorcode pkgconfig, other minor fixes 8 years ago Add -f argument to autoreconf to regenerate aclocal macros 7 years ago
bindep.txt Use zlib for CRC-32 5 years ago Merge "Stop using ceill() to compute padded data size" 5 years ago Add dl to pkg-config metadata 5 years ago Add pkg-config template for liberasurecode_rs_vand 7 years ago
get_flags_from_cpuid.c Fix get_supported_flags() arguments 7 years ago


liberasurecode is an Erasure Code API library written in C with pluggable Erasure Code backends.


  • Unified Erasure Coding interface for common storage workloads.

  • Pluggable Erasure Code backends - liberasurecode supports the following backends:

    • 'liberasurecode_rs_vand' - Native, software-only Erasure Coding implementation that supports a Reed-Solomon backend
    • 'Jerasure' - Erasure Coding library that supports Reed-Solomon, Cauchy backends [1]
    • 'ISA-L' - Intel Storage Acceleration Library - SIMD accelerated Erasure Coding backends [2]
    • 'SHSS' - NTT Lab Japan's hybrid Erasure Coding backend [4]
    • 'Flat XOR HD' - built-in to liberasurecode, based on [3]
    • 'libphazr' - Phazr.IO's erasure code backend with built-in privacy [5]
    • 'NULL' template backend implemented to help future backend writers
  • True 'plugin' architecture - liberasurecode uses Dynamically Loaded (DL) libraries to realize a true 'plugin' architecture. This also allows one to build liberasurecode indepdendent of the Erasure Code backend libraries.

  • Cross-platform - liberasurecode is known to work on Linux (Fedora/Debian flavors), Solaris, BSD and Darwin/Mac OS X.

  • Community support - Developed alongside Erasure Code authority Kevin Greenan, liberasurecode is an actively maintained open-source project with growing community involvement (Openstack Swift, Ceph, PyECLib, NTT Labs).

Active Users

Build and Install

Install dependencies -

Debian/Ubuntu hosts:

 $ sudo apt-get install build-essential autoconf automake libtool

Fedora/RedHat/CentOS hosts:

 $ sudo yum install -y gcc make autoconf automake libtool

To build the liberasurecode repository, perform the following from the top-level directory:

 $ ./
 $ ./configure
 $ make
 $ make test
 $ sudo make install

Getting Help


[1] Jerasure, C library that supports erasure coding in storage applications,

[2] Intel(R) Storage Acceleration Library (Open Source Version),

[3] Greenan, Kevin M et al, "Flat XOR-based erasure codes in storage systems",

[4] Kota Tsuyuzaki, "NTT SHSS Erasure Coding backend"

[5] Jim Cheung, "Phazr.IO libphazr erasure code backend with built-in privacy"