How To Install libxxsds-dynamic-dev on Kali Linux

In this tutorial we learn how to install libxxsds-dynamic-dev on Kali Linux. libxxsds-dynamic-dev is succinct and compressed fully-dynamic data structures library

Introduction

In this tutorial we learn how to install libxxsds-dynamic-dev on Kali Linux.

What is libxxsds-dynamic-dev

libxxsds-dynamic-dev is:

This library offers space- and time-efficient implementations of some basic succinct/compressed dynamic data structures. It only ships header files, i.e. is inclusion only.

DYNAMIC features:

  • A succinct Searchable Partial Sums with Indels (SPSI) structure representing a list of integers s_1, s_2, …, s_m. Space: about 1.2 * m * ( log(M/m) + log log m ) bits, where M = m + s_1 + s_2 + … + s_m. The structure supports also update operations (i.e. s_i = s_i + delta).
  • A Succinct dynamic bitvector supporting rank/select/access/Indel (RSAI) operations. Space: about 1.2 * n bits.
  • A gap-compressed dynamic bitvector supporting rank/select/access/Indel operations. Space: about 1.2 * b * ( log(n/b) + log log b ) bits, b being the number of bits set and n being the bitvector length. All operations take log(b) time.
  • A dynamic sparse vector (of integers) with access/Indel operations.
  • A dynamic string supporting rank/select/access/Indel operations. The user can choose at construction time between fixed-length/gamma/Huffman encoding of the alphabet. All operations take log(n) * log(sigma) time (or log(n) * H0 with Huffman encoding).
  • A run-length encoded dynamic string supporting rank/select/access/insert operations (removes are not yet implemented). Space: approximately R*(1.2 * log(sigma) + 2.4 * (log(n/R)+log log R) ) bits, where R is the number of runs in the string. All operations take log(R) time.
  • A dynamic (left-extend only) entropy/run-length compressed BWT
  • A dynamic (left-extend only) entropy/run-length compressed FM-index. This structure consists in the above BWT + a dynamic suffix array sampling

Algorithms

  • Two algorithms to build LZ77 in repetition-aware RAM working space. Both algorithms use a run-length encoded BWT with sparse Suffix array sampling. The first algorithm stores 2 SA samples per BWT run. The second algorithm (much more space efficient) stores 1 SA sample per LZ factor. From the papers “Computing LZ77 in Run-Compressed Space”, Alberto Policriti and Nicola Prezza, DCC2016 and " LZ77 Computation Based on the Run-Length Encoded BWT", Alberto Policriti and Nicola Prezza (Algorithmica)
  • An algorithm to build the BWT in run-compressed space
  • An algorithm to build LZ77 in nH0(2+o(1)) space and n * log n * H0 time. From the paper “Fast Online Lempel-Ziv Factorization in Compressed Space”, Alberto Policriti and Nicola Prezza, SPIRE2015
  • An algorithm to build the BWT in high-order compressed space. The algorithm runs in O(n * H_k * log log n) average-case time (e.g. good for DNA) and O(n * H_k * log n) worst-case time. From the paper “Average linear time and compressed space construction of the Burrows-Wheeler transform” Policriti A., Gigante N. and Prezza N., LATA 2015 (the paper discusses a theoretically faster variant)

The SPSI structure is the building block on which all other structures are based. This structure is implemented with cache-efficient B-trees.

There are three methods to install libxxsds-dynamic-dev on Kali Linux. We can use apt-get, apt and aptitude. In the following sections we will describe each method. You can choose one of them.

Install libxxsds-dynamic-dev Using apt-get

Update apt database with apt-get using the following command.

sudo apt-get update

After updating apt database, We can install libxxsds-dynamic-dev using apt-get by running the following command:

sudo apt-get -y install libxxsds-dynamic-dev

Install libxxsds-dynamic-dev Using apt

Update apt database with apt using the following command.

sudo apt update

After updating apt database, We can install libxxsds-dynamic-dev using apt by running the following command:

sudo apt -y install libxxsds-dynamic-dev

Install libxxsds-dynamic-dev Using aptitude

If you want to follow this method, you might need to install aptitude on Kali Linux first since aptitude is usually not installed by default on Kali Linux. Update apt database with aptitude using the following command.

sudo aptitude update

After updating apt database, We can install libxxsds-dynamic-dev using aptitude by running the following command:

sudo aptitude -y install libxxsds-dynamic-dev

How To Uninstall libxxsds-dynamic-dev on Kali Linux

To uninstall only the libxxsds-dynamic-dev package we can use the following command:

sudo apt-get remove libxxsds-dynamic-dev

Uninstall libxxsds-dynamic-dev And Its Dependencies

To uninstall libxxsds-dynamic-dev and its dependencies that are no longer needed by Kali Linux, we can use the command below:

sudo apt-get -y autoremove libxxsds-dynamic-dev

Remove libxxsds-dynamic-dev Configurations and Data

To remove libxxsds-dynamic-dev configuration and data from Kali Linux we can use the following command:

sudo apt-get -y purge libxxsds-dynamic-dev

Remove libxxsds-dynamic-dev configuration, data, and all of its dependencies

We can use the following command to remove libxxsds-dynamic-dev configurations, data and all of its dependencies, we can use the following command:

sudo apt-get -y autoremove --purge libxxsds-dynamic-dev

Dependencies

libxxsds-dynamic-dev have the following dependencies:

References

Summary

In this tutorial we learn how to install libxxsds-dynamic-dev package on Kali Linux using different package management tools: apt, apt-get and aptitude.